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 |
---|---|
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. |
Exécute des activités contenues tant qu'une condition est true. |