DocumentApprovalProcess 範例示範如何使用許多 Windows Workflow Foundation (WF) 和 Windows Communication Foundation (WCF) 功能。 他們共同實施文件審批過程場景。 用戶應用程式可以提交文件以供批准和核准文件。 核准管理員應用程式存在,可協助客戶端之間的通訊,並強制執行核准程序的規則。 核准程式是可執行數種核准類型的工作流程。 活動可以用來取得單一核准、達到法定人數核准(一組核准者的百分比),以及由法定人數和序列中單一核准組成的複雜核准流程。
範例詳情
下圖示範檔核准程式工作流程:
從客戶端的觀點來看,核准程序的運作方式如下:
客戶訂閱成為審核過程系統的使用者。
WCF 用戶端會傳送至核准管理員應用程式所裝載的 WCF 服務。
唯一的使用者標識碼會傳回給用戶端。 用戶端現在可以參與核准程式。
一旦加入,用戶就可以使用單一、仲裁或複雜的核准程序將文件提交以供批核。
按兩下用戶端介面中的按鈕,在用戶端工作流程服務主機中啟動工作流程實例。
工作流程會將核准要求傳送至核准管理員應用程式。
工作流程管理員會在其本身端啟動工作流程,以代表核准程式。
一旦管理員核准工作流程執行,結果就會傳回給用戶端。
用戶端會顯示結果。
用戶端可能會收到核准要求,並在任何時間點回應要求。
裝載在用戶端上的 WCF 服務可以從核准管理員應用程式接收核准要求。
文件信息會顯示在用戶端上以供檢閱。
用戶可以核准或拒絕檔。
WCF 用戶端可用來將核准回應傳回給核准管理員應用程式。
從核准管理員應用程式的觀點來看,核准程序的運作方式如下:
用戶端要求參與核准程序系統。
核准管理員上的 WCF 服務會收到要成為核准程序系統一部分的要求。
用戶端會產生唯一標識碼。 使用者資訊會儲存在資料庫中。
唯一標識碼會傳回給使用者。
收到核准要求。 核准管理員會執行核准程式。
核准管理員會收到核准要求,開始新的工作流程。
根據請求的類型(簡單、仲裁或複雜),會執行不同的活動。
具有相互關聯的傳送和接收活動可用來將核准要求傳送給用戶端,以檢閱並接收回應。
核准程式工作流程的結果會傳送至用戶端。
使用範例
設定資料庫
- 從以系統管理員許可權開啟的 Visual Studio 命令提示字元中,流覽至此 DocumentApprovalProcess 資料夾,然後執行Setup.cmd。
設定應用程式
使用 Visual Studio 開啟DocumentApprovalProcess.sln方案檔。
若要建置此方案,請按 CTRL+SHIFT+B。
若要執行方案,請在 方案瀏覽器 中右鍵點擊ApprovalManager專案,然後在選單中點選 Debug->啟動新實例,以啟動Approval Manager應用程式。
等候管理員的輸出讓您知道它已就緒。
執行單一核准情境
使用系統管理員許可權開啟命令提示字元。
流覽至包含解決方案的目錄。
瀏覽至 ApprovalClient\Bin\Debug folder and execute two instances of ApprovalClient.exe。
按兩下 [探索],等到啟用 訂閱 按鈕為止。
輸入任何使用者名稱,然後按兩下 [訂閱]。 針對一個用戶端,請使用
UserType1和 另一種類型UserType2。在用戶端中
UserType1,從下拉功能表中選取單一核准類型,然後輸入檔名稱和內容。 按兩下 [要求核准]。在
UserType2用戶端中,會出現等待核准的文件。 選取它,然後按 核准 或 拒絕。 應該在UserType1用戶端中顯示結果。
若要執行法定人數核准情境
使用系統管理員許可權開啟命令提示字元。
流覽至包含解決方案的目錄。
瀏覽至 ApprovalClient\Bin\Debug folder and execute three instances of ApprovalClient.exe。
按兩下 [探索],等到啟用 訂閱 按鈕為止。
輸入任何使用者名稱,然後按兩下 [訂閱]。 一個客戶使用
UserType1,另外兩個客戶使用UserType2。在用戶端
UserType1中,從下拉功能表中選取法定人數核准類型,然後輸入檔名稱和內容。 按兩下 [要求核准]。 這會要求兩個UserType2用戶端核准或拒絕檔。 雖然兩個UserType2客戶端都必須回應,但其中只需有一個客戶端核准文件即可獲得批准。在
UserType2客戶端中,會出現一份等候核准的文件。 選取它,然後按 核准 或 拒絕。 應該在UserType1用戶端中顯示結果。
執行複雜的核准情境
使用系統管理員許可權開啟命令提示字元。
流覽至包含解決方案的目錄。
瀏覽至 ApprovalClient\Bin\Debug folder and execute four instances of ApprovalClient.exe。
按兩下 [探索],等到啟用 訂閱 按鈕為止。
輸入任何使用者名稱,然後按兩下 [訂閱]。 對於一個客戶使用
UserType1,在兩次使用中輸入UserType2,並在最後一次使用UserType3。在用戶端中
UserType1,從下拉功能表中選取單一核准類型,然後輸入檔名稱和內容。 按兩下 [要求核准]。在
UserType2客戶端中,會出現一份等候核准的文件。 選取它並按 核准,檔會傳遞至UserType3用戶端。如果文件經由第一個
UserType2法定人數核准,則會將文件傳送至UserType3客戶端。核准或拒絕來自
UserType3客戶端的檔。 應該在UserType1用戶端中顯示結果。
清理
- 從 Visual Studio 命令提示字元中,流覽至 DocumentApprovalProcess 資料夾並執行Cleanup.cmd。