Overzicht van Windows-werkstroom

Een werkstroom is een set elementeenheden die activiteiten worden genoemd die worden opgeslagen als een model dat een praktijkproces beschrijft. Werkstromen bieden een manier om de volgorde van uitvoering en afhankelijke relaties tussen stukken kort of langlopend werk te beschrijven. Dit werk doorloopt het model van begin tot eind en activiteiten kunnen worden uitgevoerd door personen of door systeemfuncties.

Runtime-engine voor werkstroom

Elk actief werkstroomexemplaren wordt gemaakt en onderhouden door een in-process runtime-engine waarmee het hostproces communiceert via een van de volgende opties:

  • Een WorkflowInvoker, waarmee de werkstroom wordt aangeroepen als een methode.

  • Een WorkflowApplication voor expliciete controle over de uitvoering van één werkstroomexemplaren.

  • Een WorkflowServiceHost voor op berichten gebaseerde interacties in scenario's met meerdere exemplaren.

Elk van deze klassen verpakt de runtime van de kernactiviteit die wordt weergegeven als ActivityInstance verantwoordelijk voor de uitvoering van de activiteit. Er kunnen meerdere ActivityInstance objecten zijn binnen een toepassingsdomein dat gelijktijdig wordt uitgevoerd.

Elk van de voorgaande drie hostinteractieobjecten wordt gemaakt op basis van een boomstructuur met activiteiten die een werkstroomprogramma worden genoemd. Met deze typen of een aangepaste host die wordt verpakt ActivityInstance, kunnen werkstromen worden uitgevoerd binnen elk Windows-proces, waaronder consoletoepassingen, toepassingen op basis van formulieren, Windows Services, ASP.NET websites en WCF-services (Windows Communication Foundation).

Workflow components in the host process
Werkstroomonderdelen in het hostproces

Interactie tussen werkstroomonderdelen

In het volgende diagram ziet u hoe werkstroomonderdelen met elkaar communiceren.

Diagram that shows how workflow components interact.

In het voorgaande diagram wordt de Invoke methode van de WorkflowInvoker klasse gebruikt om verschillende werkstroomexemplaren aan te roepen. WorkflowInvoker wordt gebruikt voor lichtgewicht werkstromen die geen beheer van de host nodig hebben; werkstromen die beheer van de host (zoals Bookmark hervatting) nodig hebben, moeten worden uitgevoerd met behulp van Run . Het is niet vereist om te wachten tot het ene werkstroomexemplaren is voltooid voordat u een ander exemplaar aanroept; de runtime-engine ondersteunt het gelijktijdig uitvoeren van meerdere werkstroomexemplaren. De werkstromen die worden aangeroepen, zijn als volgt:

Zie ook