Compartir a través de


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.