Delen via


Stroomactiviteiten beheren in WF

De .NET Framework 4.6.1 biedt verschillende activiteiten voor het beheren van de uitvoeringsstroom binnen een werkstroom. Sommige van deze activiteiten (zoals Switch en If) implementeren stroombeheerstructuren die vergelijkbaar zijn met die in programmeeromgevingen zoals Visual C#, terwijl andere (zoals Pick) nieuwe programmeerstructuren modelleren.

Houd er rekening mee dat voor activiteiten zoals en ParallelParallelForEach meerdere onderliggende activiteiten tegelijk worden gepland voor uitvoering, maar dat er slechts één thread wordt gebruikt voor een werkstroom. Elke onderliggende activiteit van deze activiteiten wordt opeenvolgend uitgevoerd en opeenvolgende activiteiten worden pas uitgevoerd als de vorige activiteiten zijn voltooid of inactief zijn. Als gevolg hiervan zijn deze activiteiten het meest nuttig voor toepassingen waarin verschillende mogelijk blokkerende activiteiten op een interleaved manier moeten worden uitgevoerd. Als geen van de onderliggende activiteiten van deze activiteiten inactief wordt, wordt een Parallel activiteit op dezelfde wijze uitgevoerd als een Sequence activiteit en wordt een ParallelForEach activiteit op dezelfde wijze uitgevoerd als een ForEach activiteit. Als echter asynchrone activiteiten (zoals activiteiten die zijn afgeleid van AsyncCodeActivity) of berichtenactiviteiten worden gebruikt, wordt het besturingselement doorgegeven aan de volgende vertakking terwijl de onderliggende activiteit wacht tot het bericht is ontvangen of het asynchrone werk is voltooid.

Activiteiten voor stroombeheer

Activiteit Beschrijving
DoWhile Voert de ingesloten activiteiten eenmaal uit en blijft dit doen terwijl een voorwaarde is true.
ForEach<T> Hiermee wordt een ingesloten instructie op volgorde uitgevoerd voor elk element in een verzameling. ForEach<T> is vergelijkbaar met het trefwoord foreach, maar wordt geïmplementeerd als een activiteit in plaats van een taalinstructie.
If Voert ingesloten activiteiten uit als een voorwaarde is trueen kan activiteiten in de Else eigenschap uitvoeren als de voorwaarde is false.
Parallel Voert ingesloten activiteiten parallel uit.
ParallelForEach<T> Hiermee wordt een ingesloten instructie parallel uitgevoerd voor elk element in een verzameling.
Pick Biedt op gebeurtenissen gebaseerde controlestroommodellering.
PickBranch Vertegenwoordigt een potentieel uitvoeringspad in een Pick activiteit.
Sequence Ingesloten activiteiten worden op volgorde uitgevoerd.
Switch<T> Selecteert één keuze uit een aantal activiteiten die moeten worden uitgevoerd, op basis van de waarde van een bepaalde expressie.
While Voert ingesloten activiteiten uit terwijl een voorwaarde is true.