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 Parallel
ParallelForEach
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 true en 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 . |