Eindpunt voor werkstroombeheer
Met het eindpunt voor werkstroombeheer kunnen ontwikkelaars besturingsbewerkingen aanroepen om werkstroomexemplaren die worden gehost op afstand te beheren met behulp van WorkflowServiceHost. Deze functie kan worden gebruikt om programmatisch besturingsbewerkingen uit te voeren, zoals onderbreken, hervatten en beëindigen.
Waarschuwing
Als u het eindpunt voor werkstroombeheer binnen een transactie gebruikt en de werkstroom die wordt beheerd een Persist activiteit bevat, wordt het werkstroomexemplaren geblokkeerd totdat er een time-out optreedt voor de transactie.
Beheer van werkstroomexemplaren
.NET Framework 4.6.1 definieert een nieuw contract met de naam IWorkflowInstanceManagement. Dit contract definieert een reeks besturingsbewerkingen waarmee u werkstroomexemplaren die worden gehost WorkflowServiceHostop afstand kunt beheren. WorkflowControlEndpoint is een standaardeindpunt dat een implementatie van het IWorkflowInstanceManagement contract biedt. WorkflowControlClient is een klasse die wordt gebruikt om de besturingsbewerkingen naar de WorkflowControlEndpoint.
Werkstroomexemplaren kunnen een van de volgende statussen hebben:
Actief
De status van een werkstroomexemplaren voordat deze de voltooide status bereikt en wanneer deze zich niet in de onderbroken status bevindt. Terwijl het werkstroomexemplaren deze status hebben, worden toepassingsberichten uitgevoerd en verwerkt.
Onderbroken
In deze status wordt het werkstroomexemplaren niet uitgevoerd, zelfs niet als er activiteiten zijn die niet zijn gestart of gedeeltelijk zijn uitgevoerd.
Voltooid
De uiteindelijke status van een werkstroomexemplaren. Het werkstroomexemplaren kunnen niet worden uitgevoerd nadat de voltooide status is bereikt.
IWorkflowInstanceManagement
De IWorkflowInstanceManagement interface definieert een set besturingsbewerkingen met synchrone en asynchrone versies. De transacted versies vereisen gebruik van een transactiebewuste binding. De volgende tabel bevat de ondersteunde besturingsbewerkingen.
Besturingsbewerking | Beschrijving |
---|---|
Afbreken | De uitvoering van het werkstroomexemplaren wordt geforceerd gestopt. |
Annuleren | Hiermee wordt een werkstroomexemplaren van de actieve of onderbroken status overgezet naar de voltooide status. |
Uitvoeren | Biedt een werkstroomexemplaren de mogelijkheid om uit te voeren. |
Onderbreken | Hiermee wordt een werkstroomexemplaren van de actieve status overgezet naar de onderbroken status. |
Beëindigen | Hiermee wordt een werkstroomexemplaren van de actieve of onderbroken status overgezet naar de voltooide status. |
Niet-uspend | Hiermee wordt een werkstroomexemplaren van de onderbroken status overgezet naar de actieve status. |
TransactedCancel | Voert de bewerking Annuleren uit onder een transactie (gestroomd vanaf de client of lokaal is gemaakt). Als het systeem de duurzame status van het werkstroomexemplaren behoudt, moet het werkstroomexemplaren behouden blijven tijdens de uitvoering van deze bewerking. |
TransactedRun | Voert de run-bewerking uit onder een transactie (gestroomd vanaf de client of lokaal gemaakt). Als het systeem de duurzame status van het werkstroomexemplaren behoudt, moet het werkstroomexemplaren behouden blijven tijdens de uitvoering van deze bewerking. |
TransactedSuspend | Hiermee wordt de bewerking Onderbreken uitgevoerd onder een transactie (gestroomd vanaf de client of lokaal gemaakt). Als het systeem de duurzame status van het werkstroomexemplaren behoudt, moet het werkstroomexemplaren behouden blijven tijdens de uitvoering van deze bewerking. |
TransactedTerminate | Hiermee wordt de bewerking Beëindigen uitgevoerd onder een transactie (gestroomd vanaf de client of lokaal gemaakt). Als het systeem de duurzame status van het werkstroomexemplaren behoudt, moet het werkstroomexemplaren behouden blijven tijdens de uitvoering van deze bewerking. |
TransactedUnsuspend | Voert de bewerking Unsuspend uit onder een transactie (gestroomd vanaf de client of lokaal is gemaakt). Als het systeem de duurzame status van het werkstroomexemplaren behoudt, moet het werkstroomexemplaren behouden blijven tijdens de uitvoering van deze bewerking. |
Het IWorkflowInstanceManagement contract biedt geen middelen om een nieuw werkstroomexemplaren te maken, alleen om bestaande werkstroomexemplaren te beheren. Zie De uitbreidbaarheid van werkstroomhosts voor meer informatie over het extern maken van een nieuw werkstroomexemplaren.
WorkflowControlEndpoint
WorkflowControlEndpointis een standaardeindpunt met een vast contract. IWorkflowInstanceManagement Wanneer dit eindpunt wordt toegevoegd aan een WorkflowServiceHost exemplaar, kan dit eindpunt vervolgens worden gebruikt om opdrachtbewerkingen te verzenden naar een werkstroomexemplaren die worden gehost door het hostexemplaren. Zie Standard-eindpunten voor meer informatie over standaardeindpunten.
WorkflowControlClient
WorkflowControlClient is een klasse waarmee u besturingsberichten naar een op een WorkflowControlEndpointWorkflowServiceHostkunt verzenden. Het bevat een methode voor elk van de bewerkingen die door het IWorkflowInstanceManagement contract worden ondersteund, met uitzondering van de transacties. WorkflowControlClient gebruikt de omgevingstransactie om te bepalen of een transacted bewerking moet worden gebruikt.