Nous avons une logique métier pour la gestion du cycle de vie du document.
Ceci est implémenté en utilisant Workflow Foundation 4 et WF Persistence. Pendant l'exécution du workflow, certains signets sont créés dans le workflow et une tâche planifiée recherche périodiquement tous les signets spécifiques et reprend le workflow (L'activité en cours d'exécution effectue un traitement et marque de nouveau le workflow pour que le workflow puisse être repris . plus tard)Qu'est-ce qui pourrait causer une erreur DurableInstancing.InstanceNotReadyException, et comment puis-je la réparer?
maintenant, pour certains des cas en cours d'exécution du flux de travail, nous recevons l'erreur suivante:
System.Runtime.DurableInstancing.InstanceNotReadyException was unhandled Message=The execution of an InstancePersistenceCommand was interrupted because the instance '99ce9413-5b17-4de0-a453-46891509e032' has not yet been persisted to the instance store. Source=System.Runtime.DurableInstancing StackTrace: at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result) at System.Runtime.DurableInstancing.InstancePersistenceContext.OuterExecute(InstanceHandle initialInstanceHandle, InstancePersistenceCommand command, Transaction transaction, TimeSpan timeout) at System.Runtime.DurableInstancing.InstanceStore.Execute(InstanceHandle handle, InstancePersistenceCommand command, TimeSpan timeout) at System.Activities.WorkflowApplication.PersistenceManager.Load(TimeSpan timeout) at System.Activities.WorkflowApplication.LoadCore(TimeSpan timeout, Boolean loadAny) at System.Activities.WorkflowApplication.Load(Guid instanceId, TimeSpan timeout) at System.Activities.WorkflowApplication.Load(Guid instanceId)
précédemment les mêmes instances ont été chargées avec succès.
J'ai deux ou trois questions liées à cette exception:
- Quand pouvons-nous obtenir cette exception?
- Si nous obtenons cette exception, y a-t-il une manière gracieuse de la gérer afin que les mêmes instances puissent être reprises plus tard?
- Existe-t-il également un moyen de corriger les instances de flux de travail existantes qui n'ont pas pu être reprises à cause de cette exception?