Windows Workflow Foundation 範例

本節中的範例涵蓋 Windows Workflow Foundation 中各式各樣的技術領域。技術範例會著重於 Windows Workflow Foundation 的重要領域,而應用程式範例則會透過使用完整應用程式來示範各種 Windows Workflow Foundation 功能。

本章節內容

應用程式範例

應用程式範例會提供針對 Windows Workflow Foundation 撰寫的完整應用程式,而這些應用程式會示範使用數種技術。

範例 描述

訂購狀態機器範例

示範如何建立會實作訂單處理系統的狀態機器工作流程。

Outlook 工作流程精靈範例

示範如何裝載 Windows Workflow Foundation Visual Studio 設計工具,以建立為 Microsoft Office Outlook 產生規則的應用程式。

語音應用程式範例

示範如何建立會實作語音驅動功能表應用程式的狀態機器工作流程。

終止追蹤服務範例

示範如何建立自訂追蹤服務來追蹤工作流程終止。

追蹤設定檔設計工具範例

可讓您以視覺化方式建立追蹤設定檔。這個追蹤設定檔接著可以儲存到 SQL Server 中的檔案或是資料庫。

工作流程監視器範例

提供可用來檢視工作流程執行個體進度的工具。該工具會使用 SqlTrackingService 來收集工作流程與活動的目前狀態,而且會使用可重新裝載的工作流程設計工具來顯示進度。

工作流程反映公用程式範例

提供可擴充的工具來擷取組件中的工作流程相關資訊。每一個工作流程的階層、宣告式規則及必要的本機服務都會顯示在樹狀檢視中,如此可讓您輕鬆瀏覽已編譯之工作流程的結構。

技術範例

技術範例會示範 Windows Workflow Foundation 的特定技術,而且這些技術已根據其功能加以分類。

分類 範例 描述

活動範例

巢狀例外狀況處理常式範例

說明如何在工作流程中使用巢狀例外狀況處理常式,以攔截和處理工作流程中不同階段的特定例外狀況類型。

延遲範例

示範 DelayActivity 活動的使用方式。

While 與 Parallel 範例

示範 while 迴圈活動中兩個平行循序程式碼活動的使用方式。

暫停與終止範例

示範 SuspendActivityTerminateActivity 這兩個基本活動的使用方式。

複寫器範例

示範 ReplicatorActivity 活動的簡易使用方式。

ConditionedActivityGroup 範例

提供 ConditionedActivityGroup (CAG) 活動的簡單實作。

同步化範例

示範如何撰寫會同步處理共用資源存取的工作流程。

擲回範例

說明如何使用擲回活動,此活動可讓您建立工作流程的模型並將其擲回,此外也會示範如何在裝載應用程式中攔截例外狀況。

補償範例

示範如何在工作流程中撰寫補償。

簡單原則範例

示範如何建立一個使用 PolicyActivity 的工作流程,以實作折扣工作流程。

進階原則範例

簡單原則範例範例為基礎,示範 RuleSet 所提供的進階功能。

狀態初始化範例

示範如何使用狀態初始化活動。

活動繫結範例

自訂活動繫結範例

包含工作流程,其中具有已繫結至工作流程屬性的自訂活動屬性。

基本工作流程範例

簡單循序工作流程範例

說明如何使用命令列主機來建置並執行 "hello world" 工作流程。

簡單狀態機器範例

示範狀態機器工作流程的使用方式。

搭配參數的工作流程範例

示範如何使用 IN 和 OUT 參數來建置簡單的循序工作流程。除了 IN 參數是由 IfElseActivity 活動中的程式碼條件評估,而且訂單狀態是儲存在 OUT 參數中,這個範例與簡單循序工作流程範例範例幾乎相同。

通訊範例

Web 服務範例

示範如何從工作流程叫用 Web 服務,以及如何將工作流程發行為 Web 服務。

接聽範例

介紹 ListenActivity 活動,這個活動是一個複合活動,會封鎖並等候其中一個 n 子分支發生。每個子分支都是一個序列,且其封鎖活動也都是第一個步驟。ListenActivity 活動就只有其中一個分支將會執行。

相互關聯本機服務範例

示範搭配本機服務使用相互關聯屬性,以便對工作流程執行個體引發相互關聯事件。

簡單輸入範例

說明如何使用佇列將資料傳送到工作流程中。

主機通訊範例

示範使用本機服務與工作流程主應用程式 (Host Application) 通訊。

狀態機器通訊範例

示範如何使用 HandleExternalEventActivity 活動切換狀態。

自訂活動範例

簡單活動範例

說明如何將屬性和處理常式新增到自訂活動中。

基本活動設計工具範例

說明如何將自訂組態錯誤和自訂內容功能表新增到與活動關聯的設計工具中。

傳送電子郵件活動範例

說明如何建立可用來透過 Simple Mail Transport Protocol (SMTP) 傳送電子郵件訊息的自訂活動。

檔案系統監看員活動範例

示範如何建立可用來接聽檔案系統事件的活動。這個範例會示範如何使用佇列開發會接聽檔案系統事件的活動,這些事件包括在特定資料夾中建立檔案。

設計工具裝載範例

基本設計工具裝載範例

示範如何能在 Windows 應用程式中重新裝載工作流程設計工具。此範例旨在示範如何能在 Visual Studio 外部建立個別的開發環境/執行環境。

動態更新範例

從工作流程動態更新範例

示範如何動態更新從工作流程 (程式碼除外) 內部執行的工作流程執行個體。

變更規則範例

示範如何從主程式動態變更規則條件。

從主機動態更新範例

示範如何從工作流程外部 (例如主程式) 動態更新工作流程執行個體。

裝載範例

自訂持續性服務範例

示範工作流程在延遲活動期間等候時,引擎透過自訂持續性服務儲存工作流程執行個體狀態,藉此卸載工作流程。

引發事件來載入工作流程範例

示範文件核准案例,其中工作流程會在閒置時從記憶體中卸載,然後在事件到達時載入回到記憶體中。

使用持續性服務範例

說明如何使用 SqlWorkflowPersistenceService 服務,以及應用程式和工作流程執行階段如何將工作流程執行個體載入記憶體並從中卸載。

取消工作流程範例

示範如何結束正在等候永遠不會發生之外部事件的工作流程。

工作流程執行緒範例

示範分別使用手動執行緒模型與預設 CLR 執行緒模型來執行工作流程的差異,並示範在工作流程中使用 DelayActivity 活動所造成的執行緒影響。

持續性主機範例

示範如何使用 Windows Forms 範例來重新載入保存的工作流程。

InMemory 範例

簡單記憶體中範例

示範如何在執行階段載入工作流程程式碼檔案。

標記範例

循序標記工作流程範例

示範如何使用已建立為標記的簡單循序工作流程。

狀態機器標記工作流程範例

示範如何使用已建立為標記的簡單狀態機器工作流程。

工作流程序列化範例

示範如何序列化及重新載入以程式設計方式建立的工作流程。

自訂序列化範例

示範如何序列化進階的資料型別。

角色範例

使用 Active Directory 角色範例

示範如何在工作流程中使用 Active Directory 角色。

使用 Web 工作流程角色範例

示範如何在工作流程中使用 ASP 角色。

規則和條件範例

搭配規則的 IfElse 範例

示範如何在 IfElseActivity 活動中使用角色條件。

追蹤範例

簡單追蹤範例

說明如何使用 SQL 追蹤服務來追蹤工作流程事件。

使用 SQLTrackingService 查詢範例

說明如何透過自訂追蹤設定檔,使用 SQL 追蹤服務來追蹤工作流程事件。

使用使用者追蹤點追蹤範例

說明如何透過使用者追蹤點,使用 SQL 追蹤服務來追蹤工作流程事件。

EventArgs 追蹤範例

說明如何使用 SQL 追蹤服務來追蹤工作流程 TrackingWorkflowTerminatedEventArgsTrackingWorkflowSuspendedEventArgsTrackingWorkflowExceptionEventArgs

ConsoleTrackingService 範例

示範如何建立追蹤服務並將追蹤資料的內容寫入至主控台。

RuleActionTrackingEvent 範例

示範如何使用追蹤來判斷工作流程中的規則動作。

檔案追蹤服務與查詢範例

示範如何能建立對 XML 檔讀取及寫入 TrackingProfile 資料的簡單檔案架構追蹤服務。

使用追蹤設定檔物件模型範例

示範如何使用追蹤設定檔物件模型來建立、序列化及還原序列化 TrackingProfile 資料。

SQL 資料維護範例

示範如何分割追蹤資料,讓資料封存更簡單。

WorkflowCommitWorkBatch 服務範例

使用 WorkflowCommitWorkBatch 服務範例

說明如何建立自訂服務,並使其參與和叫用服務之來源工作流程相同的交易。

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.