다음을 통해 공유


샘플: 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와 연결하도록 구성해야 합니다.추가 정보:Microsoft Dynamics 365와의 Azure 통합 구성.

코드에 “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. 저작권 정보