Windows Workflow: 構建自訂活動以擴充您的工作流程的作用範圍

來源:互聯網
上載者:User

本文基於 .NET Framework 3.0 的預發布版本撰寫而成。文中包含的所有資訊均有變更可能。

本文討論:

構建基本活動和複合活動

非同步和基於事件的活動

自訂設計體驗

驗證和錯誤處理

本文使用了以下技術:

.NET Framework 3.0

自訂工作流程 活動是 Windows® Workflow Foundation 的其中一個最重要的方面,在構建它們時需要考慮許多功能 。Don Box 和 Dharma Shukla 在他們於 2006 年 1 月撰寫的文章“使用 Windows Workflow Foundation 的聲明性模型簡化開發”中,探討了構建工作流程的核心觀點以及工作流程運行時與活動之 間的互動(請參閱 msdn.microsoft.com/msdnmag/issues/06/01/WindowsWorkflowFoundation)。在本文 中,我會介紹為您的業務領域構建自訂活動時所需的核心組件,包括運行時職責、設計時體驗和非同步活 動開發。

構建自訂活動時,您必須做的第一個選擇是構建簡單活動還是複合活動。簡單(或基本)活動是邏 輯和執行都封裝在活動代碼內的那些活動。簡單活動樣本有:Windows SDK 中的 SendEmail 活動或從數 據庫查詢資料的活動。

與此相反,複合活動要依賴於子活動的執行才能實現其目標。您可以按照 自己的需求以兩種不同的方法建立複合活動。一種方法是構建這樣的複合活動:它允許使用者在設計時添加 子活動,並控制這些子活動的執行。例如,Windows Workflow Foundation 隨附的 While 活動允許您添 加子活動,然後配置 While 活動的迴圈功能。While 複合活動主要用於管理其子活動的執行。構建複合 活動的另外一種方法是建立從現有複合活動(例如,Sequence 活動)派生的活動並添加一組活動作為子 活動以定義可重用組件。

可重用活動(如經理批准活動)有幾個階段最容易使用現有活動集合加 以類比。經理批准活動可以使用諸如 IfElse 之類的活動來判斷經理是否線上。如果線上,可以發送一條 立即訊息;否則,發送一封電子郵件就可以了。此活動封裝了請求獲批准的所有複雜邏輯,請求批准在工作 流中並且其本身就是一個工作流程。此活動的使用者只需在各自的工作流程中使用這個複合活動就可以擺脫實際 與經理聯絡時所必須處理的複雜事務與細節。

要開始理解構建活動的概念,最好從一個非常基本 的活動著手,然後逐步將其構建為更為複雜的活動。為了說明這些概念,本文使用了兩個主要活動:一個 是用於在 ASP.NET 成員資格庫中建立使用者的活動,一個是自訂 Switch 活動,用於類比與同名代碼概 念相類似的執行。這兩個活動及其他活動的完整原始碼可在本文提供的代碼下載中找到。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.