Compartir a través de


Ejemplo: actividad personalizada de flujo de trabajo basada en Azure

 

Publicado: enero de 2017

Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Este ejemplo obtiene el contexto de datos de la operación Microsoft Dynamics 365 actual y lo publica en el Bus de servicio de Microsoft Azure.

Este código de ejemplo es para Microsoft Dynamics 365 (en línea y local). Descargue el paquete de SDK de Microsoft Dynamics CRM. Este código se puede encontrar en la siguiente ubicación en el paquete de descarga:

SampleCode\CS\Azure\AzureAwareWorkflowActivity\Activity.cs

Requisitos

Debe configurar Microsoft Dynamics 365 para conectarse con Microsoft Azure antes de registrar y ejecutar este ejemplo de actividad de flujo de trabajo personalizado.Más información:Configurar la integración de Azure con Microsoft Dynamics 365.

Tenga en cuenta el argumento de “Input id” requerido en el código. Cuando agregue esta actividad a un flujo de trabajo, debe proporcionar el GUID de un extremo de servicio de Microsoft Azure .Más información:Crear un configuración de extremo de servicio.

Al registrar esta actividad de flujo de trabajo personalizada con Microsoft Dynamics 365 (online), debe registrarla en el espacio aislado (confianza parcial).

Para obtener más información acerca de los requisitos de ejecución del código de ejemplo proporcionado en este SDK, vea Usar el ejemplo y el código auxiliar.

Muestra

Este ejemplo muestra cómo escribir una actividad de flujo de trabajo personalizada que puede publicar el contexto de datos de la operación actual de Microsoft Dynamics 365 a Bus de servicio de Microsoft Azure. La publicación del contexto de datos se realiza a través del método de Execute.

Ejemplo


// 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; }
    }
}

Ver también

IServiceEndpointNotificationService
Código de ejemplo de integración de Microsoft Dynamics 365 y Microsoft Azure
Ejemplo: escucha de cola persistente
Actividades de flujo de trabajo personalizadas (ensamblados de flujo de trabajo)

Microsoft Dynamics 365

© 2017 Microsoft. Todos los derechos reservados. Copyright