首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

WF 4.0 實戰(一):文件審批流程完整範例

     編輯:關於.NET

專案架構

本範例為微軟官方示例,包含客戶端與服務端雙向 WCF 通訊,實作三種審批流程:簡單、Quorum(多數決)、複雜(多階段)。

架構圖:

系統架構

客戶端功能流程

  1. 申請使用者帳號,取得唯一 User ID。
  2. 發起審批文件,選擇流程類型。
  3. 按下審批按鈕 → 客戶端 WorkflowServiceHost 啟動工作流實例。
  4. 工作流透過 WCF 送出審批請求至服務端。
  5. 服務端啟動對應審批工作流,執行規則。
  6. 服務端完成後回覆結果,客戶端顯示。
  7. 客戶端接收審批任務,使用者核准/駁回。
  8. 客戶端 WCF 服務將回應送回服務端,流程繼續或結束。

服務端功能流程

  1. 接收客戶端註冊請求,產生 User ID 存入資料庫。
  2. 接收審批請求,依類型啟動對應工作流(簡單/Quorum/複雜)。
  3. 使用 Correlation 活動管理多方互動。
  4. 透過 Send/Receive 活動與客戶端交換審批任務與結果。

關鍵實作細節

服務端專案結構

服務端專案

  • ApprovalManager:宿主啟動專案。
  • ApprovalManagerActivityLibrary:包含三種審批工作流範本。
  • ApprovalMessageContractLibrary:資料合約。
  • TrackingLibrary:追蹤記錄。

服務端工作流(使用 Correlation)

服務端工作流

客戶端工作流

客戶端工作流

執行畫面

單機模擬四用戶端(申請人、審核人 A/B/C/D):

四客戶端

申請人發起複雜流程:

發起流程

B、C 同時收到任務:

並行任務

B、C 同意後轉給 D:

下一階段

D 處理完成,流程結束:

流程結束

總結

此官方範例雖程式碼繁瑣,但完整展示了 WF 4.0 在長時間執行、雙向 WCF 通訊、Correlation 關聯、多執行緒宿主等企業級應用的最佳實務。

官方下載

Microsoft 官方範例下載

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved