文件核准程序
DocumentApprovalProcess 範例 (英文) 示範如何使用許多 Windows Workflow Foundation (WF) 與 Windows Communication Foundation (WCF) 功能。 結合這些功能來實作文件核准程序案例。 用戶端應用程式會提交文件以供核准,以及核准文件。 核准管理員應用程式是用來促進用戶端之間的通訊,以及強制執行核准程序的規則。 核准程序是可執行數個核准類型的工作流程。 活動是用來取得單一核准、仲裁核准 (核准者集合的百分比),以及在序列中包含仲裁和單一核准的複雜核准程序。
範例詳細資料
下圖示範文件核准流程工作流程:
從用戶端的觀點來看,核准程序的運作方式如下:
用戶端在核准程序系統中訂閱成為使用者。
WCF 用戶端傳送要求給核准管理員應用程式裝載的 WCF 服務。
唯一的使用者識別碼傳回至用戶端。 用戶端現在會參與核准程序。
一旦加入,用戶端可以使用單一核准、仲裁核准或複雜核准程序來傳送文件以供核准。
按一下用戶端介面中的按鈕,在用戶端工作流程服務主機中啟動工作流程執行個體。
工作流程傳送核准要求給核准管理員應用程式。
工作流程管理員在其一方啟動工作流程以代表核准程序。
一旦管理員核准工作流程執行,將結果送回用戶端。
用戶端顯示結果。
用戶端隨時可能收到核准要求,並回應要求。
裝載於用戶端的 WCF 服務可以從核准管理員應用程式接收核准要求。
文件資訊在用戶端上呈現以供檢閱。
使用者可以核准或拒絕文件。
使用 WCF 用戶端,將核准回應傳送回核准管理員應用程式。
從核准管理員應用程式的觀點來看,核准流程的運作方式如下:
用戶端要求參與核准程序系統。
核准管理員應用程式上的 WCF 服務收到加入成為核准流程系統一部分的要求。
產生用戶端的唯一識別碼。 將使用者資訊儲存在資料庫中。
唯一的識別碼送回使用者。
收到核准要求。 核准管理員執行核准程序。
核准管理員收到核准要求,啟動新的工作流程。
根據要求類型 (單一、仲裁或複雜),執行不同的活動。
具有相互關聯的 Send 和 Receive 活動用來將核准要求傳送至用戶端以供檢閱,以及傳送回應。
核准程序工作流程的結果傳送至用戶端。
使用範例
若要設定資料庫
- 以系統管理員權限開啟 Visual Studio 命令提示字元,然後巡覽至此 DocumentApprovalProcess 資料夾,並執行 Setup.cmd。
若要設定應用程式
使用 Visual Studio 開啟 DocumentApprovalProcess.sln 解決方案檔案。
若要建置此方案,請按 CTRL+SHIFT+B。
若要執行解決方案,請啟動核准管理員應用程式,方法是以滑鼠右鍵按一下 [方案總管] 中的 ApprovalManager 專案,然後從右鍵功能表依序按一下 [偵錯]-> [啟動新的執行個體]。
等候管理員輸出,通知您已準備就緒。
若要執行單一核准案例
以系統管理員權限開啟命令提示字元。
巡覽至包含方案的目錄。
巡覽至 ApprovalClient\Bin\Debug 資料夾,並執行兩個 ApprovalClient.exe 執行個體。
按一下 [探索],等候 [訂閱] 按鈕啟用。
鍵入任何使用者名稱,然後按一下 [訂閱]。 對其中一個用戶端,使用
UserType1
,對另一個輸入UserType2
。在
UserType1
用戶端中,從下拉式功能表中選取單一核准類型,然後輸入文件名稱和內容。 按一下 [要求核准]。在
UserType2
用戶端中,待核准的文件隨即出現。 選取該文件,然後按 [核准] 或 [拒絕]。UserType1
用戶端中應該會顯示結果。
若要執行仲裁核准案例
以系統管理員權限開啟命令提示字元。
巡覽至包含方案的目錄。
巡覽至 ApprovalClient\Bin\Debug 資料夾,並執行三個 ApprovalClient.exe 執行個體。
按一下 [探索],等候 [訂閱] 按鈕啟用。
鍵入任何使用者名稱,然後按一下 [訂閱]。 對其中一個用戶端,使用
UserType1
,對另外兩個輸入UserType2
。在
UserType1
用戶端中,從下拉式功能表中選取仲裁核准類型,然後輸入文件名稱和內容。 按一下 [要求核准]。 這會要求兩個UserType2
用戶端核准或拒絕文件。 雖然兩個UserType2
用戶端都必須回應,但是只要一個用戶端核准文件,文件就會獲得已核准狀態。在
UserType2
用戶端中,待核准的文件隨即出現。 選取該文件,然後按 [核准] 或 [拒絕]。UserType1
用戶端中應該會顯示結果。
若要執行複雜核准案例
以系統管理員權限開啟命令提示字元。
巡覽至包含方案的目錄。
巡覽至 ApprovalClient\Bin\Debug 資料夾,並執行四個 ApprovalClient.exe 執行個體。
按一下 [探索],等候 [訂閱] 按鈕啟用。
鍵入任何使用者名稱,然後按一下 [訂閱]。 對其中一個用戶端,使用
UserType1
,在兩個用戶端中輸入UserType2
,並在最後一個用戶端中使用UserType3
。在
UserType1
用戶端中,從下拉式功能表中選取單一核准類型,然後輸入文件名稱和內容。 按一下 [要求核准]。在
UserType2
用戶端中,待核准的文件隨即出現。 選取該文件,然後按 [核准],使該文件傳遞至UserType3
用戶端。如果第一個
UserType2
仲裁核准文件,文件會傳遞至UserType3
用戶端。從
UserType3
用戶端核准或拒絕文件。UserType1
用戶端中應該會顯示結果。
若要清除
- 從 Visual Studio 命令提示字元,巡覽至 DocumentApprovalProcess 資料夾,並執行 Cleanup.cmd。