Activités de flux de contrôle dans WF

.NET Framework 4.6.1 fournit plusieurs activités pour contrôler le flux d’exécution dans un flux de travail. Certaines de ces activités (telles que Switch et If) implémentent des structures de contrôle de flux similaires à celles des environnements de programmation tels que Visual C#, tandis que d’autres (par exemple Pick) modélisent de nouvelles structures de programmation.

Notez que, bien que les activités telles que les Parallel activités et ParallelForEach planifient plusieurs activités enfants pour l’exécution simultanément, seul un thread unique est utilisé pour un flux de travail. Chaque activité enfant de ces activités s’exécute séquentiellement et les activités successives ne s’exécutent pas tant que les activités précédentes n’ont pas terminé ou ne sont pas inactives. Par conséquent, ces activités sont les plus utiles pour les applications dans lesquelles plusieurs activités potentiellement bloquantes doivent s’exécuter de manière entrelacée. Si aucune des activités enfants de ces activités n’est inactive, une Parallel activité s’exécute comme une Sequence activité et une ParallelForEach activité s’exécute comme une ForEach activité. Si, toutefois, les activités asynchrones (telles que les activités dérivées) AsyncCodeActivityou les activités de messagerie sont utilisées, le contrôle passe à la branche suivante pendant que l’activité enfant attend que son message soit reçu ou que son travail asynchrone soit terminé.

Activités de contrôle de flux

Activité Description
DoWhile Exécute les activités contenues une seule fois et continue à le faire pendant qu’une condition est true.
ForEach<T> Exécute une instruction incorporée en séquence pour chaque élément d’une collection. ForEach<T> est similaire 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 Else propriété si la condition est false.
Parallel Exécute des activités contenues en parallèle.
ParallelForEach<T> 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 basée sur les événements.
PickBranch Représente un chemin d’exécution potentiel dans une Pick activité.
Sequence Exécute les activités contenues dans la séquence.
Switch<T> Sélectionne un choix parmi un certain nombre d’activités à exécuter, en fonction de la valeur d’une expression donnée.
While Exécute des activités contenues pendant qu’une condition est true.