Atividades do Fluxo de Controlo no WF
O .NET Framework 4.6.1 fornece várias atividades para controlar o fluxo de execução num fluxo de trabalho. Algumas destas atividades (como Switch
e If
) implementam estruturas de controlo de fluxo semelhantes às dos ambientes de programação, como o Visual C#, enquanto outras (como Pick
) modelam novas estruturas de programação.
Tenha em atenção que, embora atividades como as Parallel
atividades e ParallelForEach
agendem múltiplas atividades subordinadas para execução em simultâneo, apenas um único thread é utilizado para um fluxo de trabalho. Cada atividade subordinada destas atividades executa atividades sequenciais e sucessivas não são executadas até que as atividades anteriores sejam concluídas ou inativas. Como resultado, estas atividades são mais úteis para aplicações nas quais várias atividades potencialmente bloqueadas têm de ser executadas de forma intercalada. Se nenhuma das atividades subordinadas destas atividades ficar inativa, uma Parallel
atividade é executada tal como uma Sequence
atividade e uma ParallelForEach
atividade é executada tal como uma ForEach
atividade. No entanto, se forem utilizadas atividades assíncronas (como atividades derivadas de AsyncCodeActivity) ou atividades de mensagens, o controlo passará para o ramo seguinte enquanto a atividade subordinada aguarda que a mensagem seja recebida ou o trabalho assíncrono seja concluído.
Atividades de controlo de fluxo
Atividade | Description |
---|---|
DoWhile | Executa as atividades contidas uma vez e continua a fazê-lo enquanto uma condição é true . |
ForEach<T> | Executa uma instrução incorporada em sequência para cada elemento numa coleção. ForEach<T> é semelhante à palavra-chave foreach , mas é implementada como uma atividade em vez de uma instrução de idioma. |
If | Executa atividades contidas se uma condição for true e pode executar atividades contidas na Else propriedade se a condição for false . |
Parallel | Executa atividades contidas em paralelo. |
ParallelForEach<T> | Executa uma instrução incorporada em paralelo para cada elemento numa coleção. |
Pick | Fornece modelação de fluxo de controlo baseada em eventos. |
PickBranch | Representa um potencial caminho de execução numa Pick atividade. |
Sequence | Executa atividades contidas em sequência. |
Switch<T> | Seleciona uma opção de uma série de atividades a executar, com base no valor de uma determinada expressão. |
While | Executa atividades contidas enquanto uma condição é true . |