Windows Workflow Foundation 示例(轉自MSDN)

本節中的示例涵蓋 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 和並行”示例

演示如何在 while 循環活動中使用兩個並行順序代碼活動。

 

“掛起和終止”示例

演示兩個基本活動(SuspendActivityTerminateActivity)的用法。

 

“複製器”示例

演示 ReplicatorActivity 活動的簡單用法。

 

ConditionedActivityGroup 示例

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

 

“同步”示例

演示如何創作同步訪問共享資源的工作流。

 

“引發”示例

闡釋如何使用 Throw 活動,利用該活動可以從工作流中建立異常的模型並引發異常。 它還演示瞭如何在宿主應用程序中捕獲異常。

 

“補償”示例

演示如何在工作流中創作補償。

 

“簡單策略”示例

演示如何創建一個工作流,該工作流使用 PolicyActivity 來實現折扣工作流。

 

“高級策略”示例

基於“簡單策略”示例示例構建,用於演示 RuleSet 提供的更高級功能。

 

“狀態初始化”示例

演示如何使用“狀態初始化”活動。

“活動綁定”示例

 

 

 

“自定義活動綁定”示例

包括一個工作流,該工作流具有綁定到工作流屬性的自定義活動屬性。

“基本工作流”示例

 

 

 

“簡單順序工作流”示例

闡釋如何通過使用命令行宿主生成和執行一個“hello world”工作流。

 

“簡單的狀態機”示例

演示狀態機工作流的用法。

 

“帶參數的工作流”示例

演示如何使用 IN 和 OUT 參數生成一個簡單的順序工作流。 該示例與“簡單順序工作流”示例示例大致相同,只是 IN 參數是由 IfElseActivity 活動中的代碼條件計算得出的,並且訂單狀態存儲在 OUT 參數中。

通信示例

 

 

 

“Web 服務”示例

演示如何能夠從工作流中調用 Web 服務,以及如何能夠以 Web 服務的形式發佈工作流。

 

“偵聽”示例

介紹 ListenActivity 活動,這是一種可阻止和等待 n 個子分支中的其中一個分支發生的複合活動。 每個子分支都是一個用阻止活動作爲第一步的序列。 只會執行 ListenActivity 活動的其中一個分支。

 

“相關的本地服務”示例

演示如何將相關屬性與本地服務一起使用,以便將相關事件引發到工作流實例。

 

“簡單輸入”示例

闡釋如何使用隊列將數據發送到工作流。

 

“宿主通信”示例

演示如何使用本地服務與工作流宿主應用程序進行通信。

 

“狀態機通信”示例

演示如何使用 HandleExternalEventActivity 活動在狀態之間進行轉換。

“自定義活動”示例

 

 

 

“簡單活動”示例

闡釋如何將屬性和處理程序添加到自定義活動。

 

“基本活動設計器”示例

闡釋如何將自定義配置錯誤和自定義上下文菜單添加到與活動關聯的設計器。

 

“發送電子郵件活動”示例

闡釋如何創建一個自定義活動,可以使用該活動,通過簡單郵件傳輸協議 (SMTP) 來發送郵件。

 

“文件系統觀察程序活動”示例

闡釋如何創建可用於偵聽文件系統事件的活動。 它演示了在開發可偵聽文件系統事件(比如在特定文件夾中創建文件)的活動時如何使用隊列。

“設計器宿主”示例

 

 

 

“基本設計器宿主”示例

演示如何能夠在 Windows 應用程序中重新承載工作流設計器。 此示例的目標是演示如何能夠在 Visual Studio 外部創建一個單獨的開發環境/執行環境。

“動態更新”示例

 

 

 

“工作流中的動態更新”示例

演示當工作流實例從工作流(代碼旁置)內運行時如何動態更新工作流實例。

 

“更改規則”示例

演示如何從宿主程序中動態地更改規則條件。

 

“從宿主中動態更新”示例

演示如何從工作流外部(例如,宿主程序)動態地更新工作流實例。

“宿主”示例

 

 

 

“自定義持久性服務”示例

演示卸載工作流的引擎,當工作流在“延遲”活動過程中等待時,該引擎可通過自定義持久性服務來保存工作流實例狀態。

 

“引發事件以加載工作流”示例

演示一個文檔批准方案,在該方案中,工作流在進入空閒狀態時將被從內存中卸載,並在事件到達時加載回內存中。

 

“使用持久性服務”示例

闡釋如何使用 SqlWorkflowPersistenceService 服務,以及應用程序和工作流運行時如何將工作流實例加載到內存中和從內存中卸載工作流實例。

 

“取消工作流”示例

演示如何退出正在等待永遠不會發生的外部事件的工作流。

 

“工作流線程”示例

演示使用手動線程模型運行工作流和使用默認 CLR 線程模型運行工作流的不同之處,並演示了在工作流中使用 DelayActivity 活動所造成的線程影響。

 

“持久性宿主”示例

演示如何使用 Windows 窗體示例來重新加載保留的工作流。

InMemory 示例

 

 

 

簡單的內存中示例

演示如何在運行時加載工作流代碼文件。

“標記”示例

 

 

 

“順序標記工作流”示例

演示如何使用一個以標記形式創建的簡單順序工作流。

 

“狀態機標記工作流”示例

演示如何使用一個以標記形式創建的簡單狀態機工作流。

 

“工作流序列化”示例

演示如何序列化和重新加載一個以編程方式創建的工作流。

 

“自定義序列化”示例

演示如何序列化高級數據類型。

“角色”示例

 

 

 

“使用 Active Directory 角色”示例

演示如何在工作流中使用 ActiveDirectory 角色。

 

“使用 Web 工作流角色”示例

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

“規則和條件”示例

 

 

 

“帶規則的 IfElse”示例

演示如何將規則條件與 IfElseActivity 活動一起使用。

“跟蹤”示例

 

 

 

“簡單的跟蹤”示例

闡釋如何使用 SQL 跟蹤服務來跟蹤工作流事件。

 

“使用 SQLTrackingService 進行查詢”示例

闡釋如何使用自定義跟蹤配置文件,通過 SQL 跟蹤服務來跟蹤工作流事件。

 

“使用用戶跟蹤點進行跟蹤”示例

闡釋如何使用用戶跟蹤點,通過 SQL 跟蹤服務來跟蹤工作流事件。

 

“EventArgs 跟蹤”示例

闡釋如何使用 SQL 跟蹤服務來跟蹤工作流 TrackingWorkflowTerminatedEventArgsTrackingWorkflowSuspendedEventArgsTrackingWorkflowExceptionEventArgs

 

ConsoleTrackingService 示例

演示如何創建跟蹤服務並將跟蹤數據的內容寫入控制檯。

 

RuleActionTrackingEvent 示例

演示如何能夠使用跟蹤在工作流中確定規則操作。

 

“文件跟蹤服務和查詢”示例

闡釋如何能夠創建一個基於文件的簡單跟蹤服務,該服務讀取 TrackingProfile 數據並將該數據寫入 XML 文件。

 

“使用跟蹤配置文件對象模型”示例

演示如何使用跟蹤配置文件對象模型來創建、序列化和反序列化 TrackingProfile 數據。

 

“SQL 數據維護”示例

演示如何將跟蹤數據分區以便於數據存檔。

“WorkflowCommitWorkBatch 服務”示例

 

 

 

“使用 WorkflowCommitWorkBatch 服務”示例

闡釋如何創建自定義服務,並讓其參與到與從中調用該服務的工作流的事務相同的事務中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章