共用方式為


檔核准程式

DocumentApprovalProcess 範例示範如何使用許多 Windows Workflow Foundation (WF) 和 Windows Communication Foundation (WCF) 功能。 他們共同實施文件審批過程場景。 用戶應用程式可以提交文件以供批准和核准文件。 核准管理員應用程式存在,可協助客戶端之間的通訊,並強制執行核准程序的規則。 核准程式是可執行數種核准類型的工作流程。 活動可以用來取得單一核准、達到法定人數核准(一組核准者的百分比),以及由法定人數和序列中單一核准組成的複雜核准流程。

範例詳情

下圖示範檔核准程式工作流程:

檔核准程式工作流程

從客戶端的觀點來看,核准程序的運作方式如下:

  1. 客戶訂閱成為審核過程系統的使用者。

  2. WCF 用戶端會傳送至核准管理員應用程式所裝載的 WCF 服務。

  3. 唯一的使用者標識碼會傳回給用戶端。 用戶端現在可以參與核准程式。

  4. 一旦加入,用戶就可以使用單一、仲裁或複雜的核准程序將文件提交以供批核。

  5. 按兩下用戶端介面中的按鈕,在用戶端工作流程服務主機中啟動工作流程實例。

  6. 工作流程會將核准要求傳送至核准管理員應用程式。

  7. 工作流程管理員會在其本身端啟動工作流程,以代表核准程式。

  8. 一旦管理員核准工作流程執行,結果就會傳回給用戶端。

  9. 用戶端會顯示結果。

  10. 用戶端可能會收到核准要求,並在任何時間點回應要求。

  11. 裝載在用戶端上的 WCF 服務可以從核准管理員應用程式接收核准要求。

  12. 文件信息會顯示在用戶端上以供檢閱。

  13. 用戶可以核准或拒絕檔。

  14. WCF 用戶端可用來將核准回應傳回給核准管理員應用程式。

從核准管理員應用程式的觀點來看,核准程序的運作方式如下:

  1. 用戶端要求參與核准程序系統。

  2. 核准管理員上的 WCF 服務會收到要成為核准程序系統一部分的要求。

  3. 用戶端會產生唯一標識碼。 使用者資訊會儲存在資料庫中。

  4. 唯一標識碼會傳回給使用者。

  5. 收到核准要求。 核准管理員會執行核准程式。

  6. 核准管理員會收到核准要求,開始新的工作流程。

  7. 根據請求的類型(簡單、仲裁或複雜),會執行不同的活動。

  8. 具有相互關聯的傳送和接收活動可用來將核准要求傳送給用戶端,以檢閱並接收回應。

  9. 核准程式工作流程的結果會傳送至用戶端。

使用範例

設定資料庫

  1. 從以系統管理員許可權開啟的 Visual Studio 命令提示字元中,流覽至此 DocumentApprovalProcess 資料夾,然後執行Setup.cmd。

設定應用程式

  1. 使用 Visual Studio 開啟DocumentApprovalProcess.sln方案檔。

  2. 若要建置此方案,請按 CTRL+SHIFT+B。

  3. 若要執行方案,請在 方案瀏覽器 中右鍵點擊ApprovalManager專案,然後在選單中點選 Debug->啟動新實例,以啟動Approval Manager應用程式。

    等候管理員的輸出讓您知道它已就緒。

執行單一核准情境

  1. 使用系統管理員許可權開啟命令提示字元。

  2. 流覽至包含解決方案的目錄。

  3. 瀏覽至 ApprovalClient\Bin\Debug folder and execute two instances of ApprovalClient.exe。

  4. 按兩下 [探索],等到啟用 訂閱 按鈕為止。

  5. 輸入任何使用者名稱,然後按兩下 [訂閱]。 針對一個用戶端,請使用 UserType1 和 另一種類型 UserType2

  6. 在用戶端中 UserType1 ,從下拉功能表中選取單一核准類型,然後輸入檔名稱和內容。 按兩下 [要求核准]。

  7. UserType2 用戶端中,會出現等待核准的文件。 選取它,然後按 核准拒絕。 應該在UserType1用戶端中顯示結果。

若要執行法定人數核准情境

  1. 使用系統管理員許可權開啟命令提示字元。

  2. 流覽至包含解決方案的目錄。

  3. 瀏覽至 ApprovalClient\Bin\Debug folder and execute three instances of ApprovalClient.exe。

  4. 按兩下 [探索],等到啟用 訂閱 按鈕為止。

  5. 輸入任何使用者名稱,然後按兩下 [訂閱]。 一個客戶使用 UserType1,另外兩個客戶使用 UserType2

  6. 在用戶端UserType1中,從下拉功能表中選取法定人數核准類型,然後輸入檔名稱和內容。 按兩下 [要求核准]。 這會要求兩個 UserType2 用戶端核准或拒絕檔。 雖然兩個 UserType2 客戶端都必須回應,但其中只需有一個客戶端核准文件即可獲得批准。

  7. UserType2 客戶端中,會出現一份等候核准的文件。 選取它,然後按 核准拒絕。 應該在UserType1用戶端中顯示結果。

執行複雜的核准情境

  1. 使用系統管理員許可權開啟命令提示字元。

  2. 流覽至包含解決方案的目錄。

  3. 瀏覽至 ApprovalClient\Bin\Debug folder and execute four instances of ApprovalClient.exe。

  4. 按兩下 [探索],等到啟用 訂閱 按鈕為止。

  5. 輸入任何使用者名稱,然後按兩下 [訂閱]。 對於一個客戶使用 UserType1,在兩次使用中輸入 UserType2,並在最後一次使用 UserType3

  6. 在用戶端中 UserType1 ,從下拉功能表中選取單一核准類型,然後輸入檔名稱和內容。 按兩下 [要求核准]。

  7. UserType2 客戶端中,會出現一份等候核准的文件。 選取它並按 核准,檔會傳遞至 UserType3 用戶端。

    如果文件經由第一個 UserType2 法定人數核准,則會將文件傳送至 UserType3 客戶端。

  8. 核准或拒絕來自 UserType3 客戶端的檔。 應該在UserType1用戶端中顯示結果。

清理

  1. 從 Visual Studio 命令提示字元中,流覽至 DocumentApprovalProcess 資料夾並執行Cleanup.cmd。