Wir haben eine Geschäftslogik zur Verwaltung des Dokumentenlebenszyklus.
Dies wird mit Workflow Foundation 4 und WF Persistence implementiert. Während der Ausführung des Workflows werden bestimmte Lesezeichen im Workflow erstellt und ein geplanter Task findet regelmäßig alle spezifischen Lesezeichen und setzt den Workflow fort. (Die ausgeführte Aktivität führt eine Verarbeitung durch und markiert den Workflow erneut, damit der Workflow fortgesetzt werden kann . später)Was könnte eine DurableInstancing.InstanceNotReadyException verursachen und wie kann ich sie beheben?
Jetzt für einige der laufenden Instanzen des Workflows, erhalten wir den folgenden Fehler:
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)
zuvor die gleichen Instanzen wurden erfolgreich geladen.
Ich habe ein paar Fragen zu dieser Ausnahme bezogen werden:
- Wenn wir diese Ausnahme zu bekommen?
- Wenn wir diese Ausnahme bekommen, gibt es irgendeine anmuthige Art, sie zu behandeln, damit dieselben Instanzen später wieder aufgenommen werden können?
- Gibt es auch eine Möglichkeit, die bestehenden Workflow-Instanzen zu reparieren, die wegen dieser Ausnahme nicht fortgesetzt werden konnten?