サンプル: 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 Azure との Microsoft Dynamics 365 の接続を構成する必要があります。詳細:Azure と Microsoft Dynamics 365 との統合の構成。
コードには “Input id” 引数が必要です。 この活動をワークフローに追加する場合は、Microsoft Azure サービス エンドポイントの GUID を指定する必要があります。詳細:サービス エンドポイント構成の作成。
このユーザー定義のワークフロー活動を Microsoft Dynamics 365 (オンライン) に登録する場合は、サンドボックス (部分信頼) で登録する必要があります。
この SDK で提供するサンプル コードを実行するために必要な要件については、「サンプルとヘルパー コードの使用」を参照してください。
使用例
このサンプルは、現在の 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. All rights reserved. 著作権