Udostępnij za pośrednictwem


Działania przepływu sterowania w programie WF

.NET Framework 4.6.1 zapewnia kilka działań do kontrolowania przepływu wykonywania w ramach przepływu pracy. Niektóre z tych działań (takich jak Switch i If) implementują struktury sterowania przepływem podobne do tych w środowiskach programistycznych, takich jak Visual C#, podczas gdy inne (takie jak Pick) modelują nowe struktury programowania.

Należy pamiętać, że podczas gdy działania, takie jak Parallel i, ParallelForEach zaplanują wiele działań podrzędnych na potrzeby wykonywania jednocześnie, tylko jeden wątek jest używany dla przepływu pracy. Każde działanie podrzędne tych działań jest wykonywane sekwencyjnie, a kolejne działania nie są wykonywane do momentu ukończenia poprzednich działań lub przejścia w stan bezczynności. W związku z tym te działania są najbardziej przydatne w przypadku aplikacji, w których kilka potencjalnie blokujących działań musi być wykonywanych w sposób przeplatany. Jeśli żadne z podrzędnych działań tych działań nie będzie bezczynne, Parallel działanie jest wykonywane tak samo jak Sequence działanie, a ParallelForEach działanie jest wykonywane tak samo jak ForEach działanie. Jeśli jednak są używane działania asynchroniczne (takie jak działania pochodzące z AsyncCodeActivity) lub działania obsługi komunikatów, kontrolka zostanie przekazana do następnej gałęzi, podczas gdy działanie podrzędne czeka na odebranie komunikatu lub ukończenie pracy asynchronicznej.

Działania sterowania przepływem

Działanie Opis
DoWhile Wykonuje zawarte działania raz i kontynuuje to, gdy warunek to true.
ForEach<T> Wykonuje instrukcję osadzoną w sekwencji dla każdego elementu w kolekcji. ForEach<T> jest podobny do słowa kluczowego foreach, ale jest implementowany jako działanie, a nie instrukcja języka.
If Wykonuje działania zawarte, jeśli warunek to true, i może wykonywać działania zawarte we właściwości, Else jeśli warunek to false.
Parallel Wykonuje równolegle zawarte działania.
ParallelForEach<T> Wykonuje instrukcję osadzoną równolegle dla każdego elementu w kolekcji.
Pick Zapewnia modelowanie przepływu sterowania opartego na zdarzeniach.
PickBranch Reprezentuje potencjalną ścieżkę Pick wykonywania w działaniu.
Sequence Wykonuje zawarte działania w sekwencji.
Switch<T> Wybiera jeden wybór z wielu działań do wykonania na podstawie wartości danego wyrażenia.
While Wykonuje zawarte działania, gdy warunek to true.