共用方式為


建立自訂工作流程活動

 

發行︰ 2017年1月

適用於: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

本主題說明如何建立自訂工作流程活動和註冊用於 Microsoft Dynamics 365 (線上和內部部署)。 對於 Microsoft Dynamics 365 (線上),自訂工作流程活動只可以註冊在沙箱 (部分信任) 中執行。 如需沙箱和部分信任的詳細資訊,請參閱 外掛程式隔離、信任和統計資料

本主題內容

必要軟體和組件

使用 CodeActivity 工作流程基底類別

為自訂工作流程活動指定名稱與群組名稱

必要軟體和組件

若要開發 Dynamics 365 的 Windows Workflow Foundation 4 自訂活動,必須在 Microsoft .NET Framework 4.5.2 進行開發。 下列組件必須新增至您的專案中做為參照。 可以在 Microsoft Dynamics 365 SDK 的 SDK\Bin 資料夾中找到它們。下載 Microsoft Dynamics CRM SDK 套件。

  • Microsoft.Xrm.Sdk.dll

  • Microsoft.Xrm.Sdk.Workflow.dll

使用 CodeActivity 工作流程基底類別

若要建立自訂工作流程活動,請建立繼承自 CodeActivity 工作流程基底類別的類別。 此類別可以在 System.Activities 命名空間中使用。 從 CodeActivity 類別繼承的活動會覆寫 Execute 方法,產生自訂功能。

  1. 啟動 Microsoft Visual Studio。

  2. 在 [檔案] 功能表上,按一下 [新增],然後按一下 [專案]。

  3. 在 [新增專案] 對話方塊的 [安裝的範本] 窗格,選取 [Visual C#] 下的 [工作流程],然後選取 [活動程式庫]。

  4. 指定解決方案的名稱與位置,然後按一下 [確定]。

  5. 瀏覽至 [專案] 功能表並選取 [屬性]。 在 [應用程式] 索引標籤中,指定 [.NET Framework 4.5.2] 做為目標 Framework。

  6. 新增 Microsoft.Xrm.Sdk.dll 和 Microsoft.Xrm.Workflow.dll 組件的參照。

  7. 刪除專案中的 Activity1.xaml 檔案。

  8. 新增類別檔案 (.cs) 至專案。 在 [方案總管] 中,以滑鼠右鍵按一下專案,選取 [加入],然後按一下 [類別]。 在 [加入新項目] 對話方塊,輸入類別的名稱,然後按一下 [加入]。

  9. 開啟類別檔案,然後使用指示詞加入下列項目:

    using System.Activities;using Microsoft.Xrm.Sdk;using Microsoft.Xrm.Sdk.Workflow;
    
  10. 將類別設為從 CodeActivity 類別繼承,並提供公用存取修飾詞給它,如下所示:

    public class SampleCustomActivity : CodeActivity
    
  11. 加入 Execute 方法,新增功能加到類別:

    protected override void Execute(CodeActivityContext context){    //Activity code}
    

    如需詳細資訊,請參閱新增中繼資料至自訂工作流程活動

  12. 指定輸入或輸出參數。 如需詳細資訊,請參閱新增中繼資料至自訂工作流程活動

  13. 在專案屬性,選取 [簽署] 索引標籤中的 [簽署組件] 和提供金鑰檔案名稱。 自訂工作流程活動 (以及外掛程式) 組件必須簽署。

  14. 編譯專案以建立組件 (.dll)。

若要查看示範如何建立自訂工作流程活動的程式碼範例,請參閱範例:建立自訂工作流程活動

重要

為了改善效能,Microsoft Dynamics 365 會快取自訂工作流程活動執行個體。 因為不會為自訂工作流程活動的每個引動過程呼叫建構函式,自訂工作流程活動的 Execute 方法應該撰寫為無狀態。 此外,多個系統執行緒可能會同時執行自訂工作流程活動。 所有每個引動過程狀態資訊都會儲存在內容中,因此不建議使用全域變數或成員變數在引動過程間傳送資料。

為自訂工作流程活動指定名稱與群組名稱

當您註冊自訂工作流程活動組件時,需要指定名稱與群組名稱。 名稱屬性指定工作流程活動名稱。 組織名稱屬性指定 Microsoft Dynamics 365 處理序設計工具中新增至主功能表的子功能表名稱。 這些屬性連結自訂工作流程活動與 Microsoft Dynamics 365 處理序設計工具,因此自訂活動名稱會顯示在使用者介面。

若要指定自訂工作流程活動的名稱與群組名稱,請在註冊自訂工作流程活動組件時,使用 PluginType.NamePluginType.WorkflowActivityGroupName 屬性。 如需註冊自訂工作流程活動的詳細資訊,請參閱 註冊並使用自訂工作流程活動組件。 如果 PluginType.NamePluginType.WorkflowActivityGroupName 屬性設為 null,自訂活動會從 Microsoft Dynamics 365 工作流程設計工具隱藏,而且只能從 XAML 工作流程存取。

如果您使用外掛程式註冊工具來註冊自訂工作流程活動組件,可以在 [可編輯] 區域下的 [Name] 和 [WorkflowActivityGroupName] 方塊中指定適當的值。 如需使用外掛程式註冊工具的詳細資訊,請參閱逐步解說:利用外掛程式註冊工具來註冊外掛程式

指定群組名稱和登錄時的名稱

註冊此自訂工作流程活動後,您可以在 Microsoft Dynamics 365 處理序設計工具中將它用於工作流程或對話方塊。 如需詳細資訊,請參閱註冊並使用自訂工作流程活動組件

另請參閱

自訂工作流程活動 (工作流程組件)
新增中繼資料至自訂工作流程活動
在自訂工作流程活動中使用 IOrganization Web 服務
範例:建立自訂工作流程活動
範例:Azure 認知自訂工作流程活動
Windows Workflow Foundation 4 基底活動類別

Microsoft Dynamics 365

© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權