Windows Workflow Foundation 的新功能
本主題僅適用於 Windows Workflow Foundation 4。
.NET Framework 版本 4 中的 Windows Workflow Foundation (WF) 改變了舊版的數種開發架構。現在,建立、執行與維護工作流程以及實作新功能的主機都變得更簡單了。
工作流程活動模型
現在建立工作流程的基底單元是活動,而非使用 SequentialWorkflowActivity 或 StatemachineWorkflowActivity 類別。Activity 類別可提供工作流程行為的基底抽象部分。這樣一來,活動作者可以實作基本自訂活動功能的 CodeActivity,或是自訂會利用整個執行階段活動功能的 NativeActivity。Activity 是活動作者用於透過宣告方式以其他 NativeActivity、CodeActivity、AsyncCodeActivity 或 DynamicActivity 物件表示新行為的類別,無論這些新行為是自訂開發的還是包含在 .NET Framework 4 內建活動程式庫 中。
豐富的複合活動選項
Flowchart 是強大的新控制流程活動,可讓作者製作任意迴圈與條件式分支的模型。Flowchart 提供事件驅動的程式設計模型,該模型先前只能以 StateMachineWorkflowActivity 實作。以傳統流程控制結構為模型的新的流程控制活動 (例如 TryCatch 和 Switch) 對程序性工作流程頗有助益。
擴充的內建活動程式庫
活動程式庫的新功能包括:
新的流程控制活動,例如 DoWhile、Pick、TryCatch、ForEach、Switch 和 ParallelForEach。
用於處理成員資料的活動 (例如 Assign) 與集合活動 (例如 AddToCollection)。
用於控制交易的活動,例如 TransactionScope 和 Compensate。
新的傳訊活動,例如 SendContent 和 ReceiveReply。
明確的活動資料模型
.NET Framework 4 包含用於儲存或移動資料的新選項。使用 Variable 可將資料儲存在活動中。將資料移入與移出活動時,會使用特殊的引數型別來判斷資料的移動方向。這些型別為 InArgument、InOutArgument 與 OutArgument。如需詳細資訊,請參閱Windows Workflow Foundation 資料模型.
增強型裝載、保存及追蹤選項
.NET Framework 4 包含保存增強功能,如下所示:
此外,還有更多用於執行工作流程的選項,包括 WorkflowServiceHost、WorkflowApplication 與 WorkflowInvoker。
使用 Persist 活動可明確保存工作流程狀態資料。
主機可以保存而不卸載 ActivityInstance。
工作流程可以指定不保存區,同時處理不能保存的資料,將持續性延遲到不保存區結束為止。
使用 TransactionScope 可以將交易流動至工作流程中。
使用 TrackingParticipant 可更輕鬆地完成追蹤。
系統事件記錄檔追蹤會使用 EtwTrackingParticipant 提供。
現在,恢復暫止中的工作流程會利用 Bookmark 物件來管理。
更易於擴充 WF 設計工具經驗的能力
新的 WF 設計工具建立於 Windows Presentation Foundation (WPF) 上,並且提供更簡單的模型,可在 Visual Studio 以外重新裝載 WF 設計工具時使用,另外,它也提供更簡單的機制,可用於建立自訂活動設計工具。如需詳細資訊,請參閱自訂工作流程設計經驗.