Exemple : Activité de workflow personnalisée compatible Azure

 

Date de publication : janvier 2017

S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Cet exemple obtient le contexte de données de l’opération Microsoft Dynamics 365 actuelle et le publie dans le Microsoft Azure Service Bus.

Cet exemple de code est pour Microsoft Dynamics 365 (Online et local). Téléchargez le package Kit de développement logiciel (SDK) de Microsoft Dynamics CRM. Ce code se trouve à l'emplacement suivant dans le package de téléchargement :

SampleCode\CS\Azure\AzureAwareWorkflowActivity\Activity.cs

Configuration requise

Vous devez configurer Microsoft Dynamics 365 pour vous connecter à Microsoft Azure avant d’enregistrer et d’exécuter cet exemple d’activité de workflow personnalisée.Pour plus d'informations :Configuration de l'intégration Azure avec Microsoft Dynamics 365.

Notez l’argument requis “Input id” dans le code. Lorsque vous ajoutez cette activité à un workflow, vous devez fournir le GUID d’un point de terminaison de service Microsoft Azure.Pour plus d'informations :Créer une configuration du point de terminaison de service.

Lorsque vous enregistrez cette activité de workflow personnalisée avec Microsoft Dynamics 365 (Online), vous devez l’enregistrer dans le bac à sable (confiance partielle).

Pour plus d'informations sur les conditions requises pour l'exécution de l'exemple de code fourni dans ce Kit de développement logiciel (SDK), consultez la rubrique Utiliser l’exemple de code et le code d’assistance.

Démontre

Cet exemple montre comment écrire une activité de workflow personnalisée qui peut publier le contexte de données de l’opération Microsoft Dynamics 365 actuelle vers le Microsoft Azure Service Bus. Le contexte de données est publié via la méthode Execute.

Exemple


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

Voir aussi

IServiceEndpointNotificationService
Exemple de code pour l’intégration de Microsoft Dynamics 365 et Microsoft Azure
Exemple : Écouteur de files d’attente persistantes
Activités de workflow personnalisées (assemblys de workflow)

Microsoft Dynamics 365

© 2017 Microsoft. Tous droits réservés. Copyright