Ich führe ein paar WF 4-Dienste mit Windows Server AppFabric. Manchmal tritt eine nicht behandelte Ausnahme in einem Workflow auf und wird abgebrochen (wenn die Aktion für die nicht behandelte Ausnahme auf "Abbruch" gesetzt ist) oder ausgesetzt (wenn die Aktion auf "Verlassen und Aussetzen" gesetzt ist).Warum gibt der angehaltene Workflow in AppFabric Fehler zurück?
Im Fall von "Abbruch" ist der Workflow nach der Ausnahme immer noch "Running (aktiv)" und ich erwarte, dass AppFabric WorkflowManagementService den Workflow automatisch von seinem letzten permanenten Punkt aus fortsetzt.
Im Falle von "verlassen und suspendieren", ich bin in der Lage, den Workflow manuell über das AppFabric Dashboard fortzusetzen.
In beiden Fällen geschieht dies nicht, aber ich habe verschiedene Fehler- und Warnmeldungen in AppFabric-Dashboard und Windows-Ereignisanzeige (Windows -> Application Server-System Services -> Admin):
Fehler:
Failed to invoke service management endpoint at 'net.pipe://jon-hp/Afis.Workflow/ServiceManagement.svc' to activate service '/Afis.Workflow/ATP.xamlx'.\rException: 'The open operation did not complete within the allotted timeout of 00:01:00. The time allotted to this operation may have been a portion of a longer timeout.'
Fehler:
Failed to Resume instance d626005a-63bd-4ab1-8192-62616755015c via control endpoint net.pipe://jon-hp/Afis.Workflow/ATP.xamlx/System.ServiceModel.Activities_IWorkflowInstanceManagement.\rException: System.TimeoutException: The open operation did not complete within the allotted timeout of 00:01:00. The time allotted to this operation may have been a portion of a longer timeout. Inner Exception: System.TimeoutException: The pipe connection was aborted because an asynchronous read from the pipe did not complete within the allotted timeout of 00:00:59.9989999. The time allotted to this operation may have been a portion of a longer timeout. Inner Exception: System.IO.PipeException: The operation cannot be completed because the pipe was closed. This may have been caused by the application on the other end of the pipe exiting..
Warnung (periodisch alle 20 Minuten)
WMS was not able to activate any of the hosts - backing off. Store name 'defaultSqlPersistenceStore' ('Root).
Net.pipe ist für meine Website und Anwendungen aktiviert ist, und ich kann die Management-Endpunkte aufgelistet in IIS-Manager sehen -> Endpunkte -> Filter entfernen (System.ServiceModel.Activities.IWorkflowInstanceManagement).
Meine Anwendungsendpunkte führen net.tcp mit Transportsicherheit und Windows-Authentifizierung aus.
Dieser Thread scheint verwandt zu sein, aber ich habe es nicht geschafft, mein Problem aus, es zu lösen: http://social.msdn.microsoft.com/Forums/en/dublin/thread/e1705e89-34cc-4526-b11e-9d67d66c403d
EDIT 1: Mein Szenario einen Client-Aufruf Workflow A beinhaltet, die eine gewisse Verarbeitung der Fall ist, bleibt dann und kehrt zurück. Workflow A ruft dann Workflow B auf, und Workflow B löst sofort eine Ausnahme aus. Workflow A fängt das nicht ein und wird abgebrochen, aber weiterhin von seinem letzten Anhaltspunkt ausgeführt (Aktiv). Workflow B wird ebenfalls abgebrochen, wurde jedoch nicht beibehalten und erhält daher den Status Running (Idle) und wartet auf eine Nachricht aus Workflow A.
Ich erwarte dann, dass Workflow A automatisch fortgesetzt wird und Workflow B erneut aufruft, aber das passiert nicht.
EDIT 2: Die Arten von Fehlern, die ich im Ereignisprotokoll erhalte, scheinen nicht konsistent zu sein. In Perioden, bekomme ich keine Fehler, aber ich habe auch zu folgenden (zusätzlich zu dem den oben) gesehen:
Failed to Resume instance 032274d1-b6e6-4163-a33a-73bffc8da2cc via control endpoint net.pipe://jon-hp/Afis.Workflow/ATP.xamlx/System.ServiceModel.Activities_IWorkflowInstanceManagement.\rException: System.ServiceModel.FaultException: The execution of an InstancePersistenceCommand was interrupted because the instance '032274d1-b6e6-4163-a33a-73bffc8da2cc' has not yet been persisted to the instance store..
Failed to Resume instance d2b19a41-985e-4dc4-8fd1-955df2cde243 via control endpoint net.pipe://jon-hp/Afis.Workflow/Import.xamlx/System.ServiceModel.Activities_IWorkflowInstanceManagement.\rException: System.ServiceModel.FaultException: The execution of the InstancePersistenceCommand named {urn:schemas-microsoft-com:System.Activities.Persistence/command}LoadWorkflow was interrupted by an error..
Failed to invoke service management endpoint at 'net.pipe://jon-hp/Afis.Workflow/ServiceManagement.svc' to activate service '/Afis.Workflow/ATP.xamlx'.\rException: 'There was an error reading from the pipe: Unrecognized error 109 (0x6d).'
haben Sie das behoben? Wie? –