Windows Workflow Foundation 的新功能
.NET Framework 4 中的 Windows Workflow Foundation (WF) 會變更舊版中的數個開發範例。 現在,建立、執行與維護工作流程以及實作新功能的主機都變得更簡單了。 如需移轉 .NET Framework 3.0 和 .NET Framework 3.5 工作流程應用程式以使用最新版本的詳細資訊,請參閱移轉指引。
工作流程活動模型
現在建立工作流程的基底單元是活動,而非使用 SequentialWorkflowActivity 或 StateMachineWorkflowActivity 類別。 Activity 類別可提供工作流程行為的基底抽象部分。 活動作者之後可以針對基本自訂活動功能實作 CodeActivity,或是針對使用執行階段範圍的自訂活動功能實作 NativeActivity。 Activity 是活動作者用來宣告表示新行為的類別,宣告會以其他 NativeActivity、CodeActivity、AsyncCodeActivity 或 DynamicActivity 物件為依據,無論這些物件是自訂開發或包含在內建活動程式庫中。
豐富的複合活動選項
Flowchart 是一個功能強大的新控制流程活動,允許作者建立任意迴圈和條件分支模型。 Flowchart 提供一個事件驅動的程式設計模型,此設計模型原來只能以 StateMachineWorkflowActivity 實作。 以傳統流程控制結構為模型的新的流程控制活動 (例如 TryCatch 和 Switch<T>) 對程序性工作流程頗有助益。
擴充的內建活動程式庫
活動程式庫的新功能包括:
新的流程控制活動,例如 DoWhile、Pick、TryCatch、ForEach<T>、Switch<T> 和 ParallelForEach<T>。
用於處理成員資料的活動 (例如 Assign) 與集合活動 (例如 AddToCollection<T>)。
用於控制交易的活動,例如 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 設計工具時使用,另外,它也提供更簡單的機制,可用於建立自訂活動設計工具。 如需詳細資訊,請參閱自訂工作流程設計體驗。