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