Actividades de flujo de control en WF
.NET Framework 4.6.1 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 (como Pick
) modelan nuevas estructuras de programación.
Tenga en cuenta que mientras las actividades Parallel
y ParallelForEach
programan varias actividades secundarias para su ejecución simultánea, solo 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
. Sin embargo, si se usan actividades asincrónicas (como actividades que derivan de AsyncCodeActivity) o actividades de mensajería, el control pasará a la bifurcación siguiente mientras la actividad secundaria espera que se reciba su mensaje o se complete su trabajo asincrónico.
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<T> | Ejecuta una instrucción incrustada en secuencia para cada elemento de una colección. ForEach<T> es similar a la palabra clave foreach , pero se implementa como una actividad en lugar de como una instrucción de 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<T> | 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. |
PickBranch | Representa una ruta de acceso de ejecución potencial en una actividad Pick. |
Sequence | Ejecuta las actividades contenidas en secuencia. |
Switch<T> | 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 . |