Partilhar via


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 truee 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.