Share via


Actividades de control de flujo en WF

Este tema es aplicable a Windows Workflow Foundation 4.

.NET Framework versión 4 proporciona varias actividades para controlar el flujo de ejecución dentro de un flujo de trabajo. Algunas de estas actividades (como Switch y If) implementan estructuras de control de flujo similares a las que se encuentran en los entornos de programación, como Visual C#, mientras que otras modelan nuevas estructuras de programación (como Pick.)

Tenga en cuenta que mientras las actividades Parallel, ParallelForEach y ParallelForEach programan varias actividades secundarias para su ejecución simultánea, sólo se usa un subproceso para un flujo de trabajo. Cada actividad secundaria de estas actividades se ejecuta secuencialmente mientras que las actividades sucesivas no se ejecutan hasta que las anteriores se completen o pasen a estar inactivas. Como resultado, estas actividades son muy útiles para las aplicaciones en las que se deben ejecutar de un modo intercalado varias actividades de bloqueo. Si ninguna de las actividades secundarias de estas actividades se está bloqueando o está inactiva, una actividad Parallel se ejecuta simplemente como una actividad Sequence y una actividad ParallelForEach se ejecuta como una actividad ForEach. Si, sin embargo, se usan actividades asincrónicas (como actividades que deriven de AsyncCodeActivityo actividades de mensajería), los elementos secundarios de la actividad Parallel generan un nuevo subproceso para su ejecución.

Actividades de control de flujo

Actividad Descripción

DoWhile

Ejecuta las actividades contenidas una vez y continúa haciéndolo mientras que haya una condición con el valor true.

ForEach

Ejecuta una instrucción incrustada en secuencia para cada elemento de una colección. ForEach es similar a la palabra clave foreach, pero se implementa como una actividad en lugar de como una instrucción del lenguaje.

If

Ejecuta las actividades contenidas si una condición es true. Puede ejecutar actividades contenidas en la propiedad Else si la condición es false.

Parallel

Ejecuta las actividades contenidas en paralelo.

ParallelForEach

Ejecuta una instrucción incrustada en paralelo para cada elemento de una colección.

Pick

Proporciona el modelado del flujo de control basado en eventos.

Sequence

Ejecuta las actividades contenidas en secuencia.

Switch

Selecciona una opción de varias actividades que ejecutar, según el valor de una expresión determinada.

While

Ejecuta las actividades contenidas mientras una condición sea true.