WF 中的控制流程活動
.NET Framework 4.6.1 提供數個活動來控制工作流程內的執行流程。 其中部分活動 (例如 Switch
和 If
) 會實作與 Visual C# 等程式設計環境中類似的流程控制架構,其他活動 (例如 Pick
) 則是會建立新的程式設計架構模型。
請注意,雖然 Parallel
和 ParallelForEach
之類的活動會排定多個同時執行的子活動,但只會使用單一執行緒來進行工作流程。 這些活動的每個子活動會循序執行,在先前的活動完成或閒置之前,後續的活動均不會執行。 因此,最適合使用這些活動的應用程式即為必須交錯執行數個可能封鎖之活動的應用程式。 如果這些活動中沒有任何子活動閒置,Parallel
活動會像 Sequence
活動般執行,而 ParallelForEach
活動會像 ForEach
活動般執行。 然而,如果使用非同步活動 (例如衍生自 AsyncCodeActivity 的活動) 或傳訊活動,控制項會轉移至下一個分支,而子活動會等候其訊息被接收,或其非同步工作完成。
流量控制活動
活動 | 描述 |
---|---|
DoWhile | 執行所包含的活動一次,並繼續執行直到條件為 true 為止。 |
ForEach<T> | 針對集合中的每個元素,循序執行內嵌陳述式。 ForEach<T> 與關鍵字 foreach 相似,但會當做活動而非語言陳述式來實作。 |
If | 如果條件為 true 則執行所包含的活動,如果條件為 Else,則可執行包含在 false 屬性中的活動。 |
Parallel | 平行執行所包含的活動。 |
ParallelForEach<T> | 針對集合中的每個項目,平行執行內嵌陳述式。 |
Pick | 提供事件架構控制流程模型。 |
PickBranch | 在 Pick 活動中代表潛在的執行路徑。 |
Sequence | 循序執行所包含的活動。 |
Switch<T> | 根據此指定運算式的值,從活動成員中選取要執行的一個選項。 |
While | 當條件為 true 時執行所包含的活動。 |