Partager via


Activités de contrôle de flux dans WF

Cette rubrique s'applique à Windows Workflow Foundation 4.

.NET Framework version 4 fournit plusieurs activités pour le contrôle de flux d'exécution dans un workflow. Quelques-unes de ces activités (telles que Switch et If) implémentent des structures de contrôle de flux semblables à celles utilisées dans les environnements de programmation tels que Visual C#, alors que d'autres modélisent de nouvelles structures de programmation (telles que Pick.)

Notez que lorsque les activités telles que les activités Parallel, ParallelForEach et ParallelForEach planifient plusieurs activités enfants pour qu'elles s'exécutent simultanément, seul un thread unique est utilisé pour un workflow. Chaque activité enfant de ces activités s'exécute séquentiellement et les activités consécutives ne s'exécutent pas tant que d'anciennes activités ne soient terminées ou ne deviennent inactives. Par conséquent, ces activités sont très utiles pour les applications dans lesquelles plusieurs activités potentielles de blocage doivent s'exécuter de façon entrelacée. Si aucune des activités enfants de ces activités ne sont bloquées ou inactives, une activité Parallel s'exécute juste comme une activité Sequence, et une activité ParallelForEach s'exécute juste comme une activité ForEach. Toutefois, si les activités asynchrones (telles que les activités qui dérivent de AsyncCodeActivity, ou les activités de messagerie) sont utilisées, les enfants de l'activité Parallel produisent un nouveau thread pour leur exécution.

Activités de contrôle de flux

Activité Description

DoWhile

Exécute une fois les activités contenues et continue de le faire jusqu'à ce qu'une condition soit true.

ForEach

Exécute dans l'ordre une instruction incorporée pour chaque élément d'une collection. ForEach est semblable au mot clé foreach, mais est implémenté comme une activité plutôt qu'une instruction de langage.

If

Exécute des activités contenues si une condition est true, et peut exécuter des activités contenues dans la propriété Else si la condition est false.

Parallel

Exécute des activités contenues en parallèle.

ParallelForEach

Exécute une instruction incorporée en parallèle pour chaque élément d'une collection.

Pick

Fournit une modélisation de flux de contrôle reposant sur des événements.

Sequence

Exécute des activités contenues dans l'ordre.

Switch

Choisit de traiter une activité parmi un certain nombre d'activités, en fonction de la valeur de l'expression donnée.

While

Exécute des activités contenues tant qu'une condition est true.