範例:Azure 認知自訂工作流程活動
發行︰ 2017年1月
適用於: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online
此範例從目前 Microsoft Dynamics 365 作業的資料內容並將其張貼至 Microsoft Azure 服務匯流排。
這個範例程式碼適用於 Microsoft Dynamics 365 (線上和內部部署)。 下載 Microsoft Dynamics CRM SDK 套件。 您可以在下列下載套件找到此程式碼:
SampleCode\CS\Azure\AzureAwareWorkflowActivity\Activity.cs
需求
您必須在註冊和執行此範例自訂工作流程活動之前設定 Microsoft Dynamics 365 連線至 Microsoft Azure。其他資訊:設定 Azure 與 Microsoft Dynamics 365 整合。
請注意程式碼必要的 “Input id” 引數。 將此動作新增至工作流程時,您必須提供 Microsoft Azure 服務端點的 GUID。其他資訊:建立服務端點設定。
當使用 Microsoft Dynamics 365 (線上) 登錄自訂工作流程活動時,您必須註冊為沙箱 (部分信任)。
如需執行此 SDK 所提供範例程式碼的需求資訊,請參閱使用範例和 Helper 程式碼。
示範
此範例顯示如何撰寫可以從目前的 Microsoft Dynamics 365 作業張貼資料內容至 Microsoft Azure 服務匯流排 的自訂工作流程活動。 資料內容的張貼可透過 Execute 方法完成。
範例
// This namespace is found in the System.Activities.dll assembly.
using System.Activities;
// This namespace is found in the Microsoft.Xrm.Sdk.dll assembly
// located in the SDK\bin folder of the SDK download.
using Microsoft.Xrm.Sdk;
// This namespace is found in the Microsoft.Xrm.Sdk.Workflow.dll assembly
// located in the SDK\bin folder of the SDK download.
using Microsoft.Xrm.Sdk.Workflow;
namespace Microsoft.Crm.Sdk.Samples
{
/// <summary>
/// This class is able to post the execution context to the Windows Azure
/// Service Bus.
/// </summary>
public class AzureAwareWorkflowActivity : CodeActivity
{
/// <summary>
/// This method is called when the workflow executes.
/// </summary>
/// <param name="executionContext">The data for the event triggering
/// the workflow.</param>
protected override void Execute(CodeActivityContext executionContext)
{
IWorkflowContext context = executionContext.GetExtension<IWorkflowContext>();
IServiceEndpointNotificationService endpointService =
executionContext.GetExtension<IServiceEndpointNotificationService>();
endpointService.Execute(ServiceEndpoint.Get(executionContext), context);
}
/// <summary>
/// Enables the service endpoint to be provided when this activity is added as a
/// step in a workflow.
/// </summary>
[RequiredArgument]
[ReferenceTarget("serviceendpoint")]
[Input("Input id")]
public InArgument<EntityReference> ServiceEndpoint { get; set; }
}
}
另請參閱
IServiceEndpointNotificationService
Microsoft Dynamics 365 和 Microsoft Azure 整合的範例程式碼
範例:持續性佇列接聽程式
自訂工作流程活動 (工作流程組件)
Microsoft Dynamics 365
© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權