Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
Ieder actief werkstroomexemplaar wordt gemaakt en onderhouden door een interne runtime-engine waarmee het hostproces communiceert via een van de volgende opties:
Een WorkflowInvoker, waarmee de werkstroom als een methode wordt aangeroepen.
Een WorkflowApplication voor expliciete controle over de uitvoering van één workflowinstantie.
Een WorkflowServiceHost voor op berichten gebaseerde interacties in scenario's met meerdere gevallen.
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).
Werkstroomonderdelen in het hostproces
Interactie tussen werkstroomonderdelen
In het volgende diagram ziet u hoe werkstroomonderdelen met elkaar communiceren.
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 nodig te wachten tot een werkstroominstantie is voltooid voordat een andere instantie wordt gestart; de runtime-engine ondersteunt het gelijktijdig uitvoeren van meerdere werkstroominstanties. De werkstromen die worden aangeroepen, zijn als volgt:
Een Sequence activiteit die een WriteLine onderliggende activiteit bevat. Een Variable van de hoofdactiviteit is gebonden aan een InArgument van de subactiviteit. Zie Variabelen en argumenten voor meer informatie over variabelen, argumenten en binding.
Een aangepaste activiteit met de naam
ReadLine
. Een OutArgument van deReadLine
activiteit wordt geretourneerd aan de aanroepende Invoke methode.Een aangepaste activiteit die is afgeleid van de CodeActivity abstracte klasse. De CodeActivity functie heeft toegang tot runtimefuncties (zoals bijhouden en eigenschappen) met behulp van de CodeActivityContext functie die beschikbaar is als parameter van de Execute methode. Zie Eigenschappen voor werkstroomtracking en tracering enwerkstroomuitvoering voor meer informatie over deze runtimefuncties.