Windows 工作流程概觀

工作流程是一組稱為 活動的 元素單位,這些單位會儲存為描述真實世界進程的模型。 工作流程提供一種方式來描述短期或長時間執行工作之間的執行順序和相依關聯性。 這項工作會從頭到尾通過模型,而活動可能由人員或系統函式執行。

工作流程執行引擎

每個執行中的工作流程實例皆由一個進行中的執行引擎建立並維護,主機程序透過以下其中一種方式與其互動:

每個類別都會包裝一個負責活動執行的核心活動執行環境,表示為 ActivityInstance。 應用程式域內可以同時執行數 ActivityInstance 個物件。

上述三個主機互動物件都是從稱為工作流程程序的活動樹狀結構建立。 使用這些類型或包裝的 ActivityInstance自定義主機,可以在任何 Windows 進程中執行工作流程,包括控制台應用程式、表單型應用程式、Windows 服務、ASP.NET 網站,以及 Windows Communication Foundation (WCF) 服務。

主機程序中的工作流程組件 主機流程中的工作流程組件

工作流程元件之間的互動

下圖示範工作流程元件如何彼此互動。

顯示工作流程元件互動方式的圖表。

在上圖中,類別 Invoke 的 WorkflowInvoker 方法可用來叫用數個工作流程實例。 WorkflowInvoker 用於不需要主機管理的輕量型工作流程,對於需要由主機管理的工作流程(例如 Bookmark 的繼續)則必須使用 Run 來執行。 在叫用另一個工作流程實例之前,不需要等候一個工作流程實例完成;運行時間引擎支援同時執行多個工作流程實例。 叫用的工作流程如下所示:

另請參閱