Partager via


Comment : ajouter et supprimer des services de workflow

Vous pouvez ajouter et supprimer des services de l'exécution du workflow. Vous pouvez ajouter des services à l'aide de la méthode AddService définie dans la classe WorkflowRuntime. Vous pouvez supprimer des services à l'aide de la méthode RemoveService, également définie dans la classe WorkflowRuntime.

Ajout de services au moteur d'exécution de workflow.

Avant que le moteur de workflow commence l'exécution à l'aide de la méthode StartRuntime définie dans la classe WorkflowRuntime, vous pouvez ajouter les services requis pour votre workflow. Pour ajouter un nouveau service, créez une nouvelle instance de votre objet de service et appelez la méthode AddService définie dans la classe WorkflowRuntime, en passant votre objet de service comme paramètre. L'exemple suivant montre comment créer et démarrer le moteur d'exécution, créer une instance du service EventLogTrackingService décrit dans Création de services de suivi personnaliséset ajouter ce service au moteur d'exécution de workflow.

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Workflow.Runtime;
using System.Workflow.Runtime.Hosting;

namespace WorkflowApplication
{
    class WorkflowHostExample
    {
        static void Main(string[] args)
        {
            // Create the runtime and EventLogTrackingService objects.
            WorkflowRuntime runtime = new WorkflowRuntime();
            EventLogTrackingService eventlogService = new EventLogTrackingService();

            // Add the EventLogTrackingService and start the runtime. 
            runtime.AddService(eventlogService);
            runtime.StartRuntime();

            ...

            runtime.StopRuntime();
        }
    }
}

Suppression de services du moteur d'exécution de workflow

Vous pouvez supprimer des services du moteur d'exécution de la même manière que pour les ajouter. Pour cela, vous devez appeler la méthode RemoveService définie dans la classe WorkflowRuntime. Le paramètre pour cette méthode est l'instance du service que vous souhaitez supprimer. Un service peut être supprimé uniquement lorsque le moteur d'exécution de workflow n'est pas en cours d'exécution. Vous devez donc d'abord appeler la méthode StopRuntime, supprimer le service, puis redémarrer l'exécution en appelant StartRuntime. L'exemple suivant développe l'exemple montré précédemment en supprimant le service EventLogTrackingService.

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Workflow.Runtime;
using System.Workflow.Runtime.Hosting;

namespace WorkflowApplication
{
    class WorkflowHostExample
    {
        static void Main(string[] args)
        {
            // Create the runtime and EventLogTrackingService objects.
            WorkflowRuntime runtime = new WorkflowRuntime();
            EventLogTrackingService eventlogService = new EventLogTrackingService();

            // Add the EventLogTrackingService and start the runtime.
            runtime.AddService(eventlogService);
            runtime.StartRuntime();

            ...
            // Stop the runtime and remove the EventLogTrackingService.
            runtime.StopRuntime();
            runtime.RemoveService(eventlogService);
        }
    }
NoteRemarque :

Vous ne pouvez supprimer aucun service créé par le moteur d'exécution en lui-même pendant que celui-ci est en cours d'exécution. Ces services par défaut sont ajoutés lorsque l'exécution démarre et sont nécessaires à la gestion de l'exécution de tous les workflows.

Les services suivants, et ceux qui dérivent de ces types, ne peuvent pas être supprimé pendant que le moteur d'exécution de workflow est en cours d'exécution :

Pour plus d'informations sur la manière d'ajouter ou de supprimer des services à l'aide d'un fichier de configuration, consultez Tâche 2 : configurer des services d'exécution à l'aide d'App.Config, situé dans Didacticiel : héberger le moteur d'exécution Windows Workflow Foundation et Workflow Configuration Formats.

Voir aussi

Référence

WorkflowCommitWorkBatchService
WorkflowPersistenceService
TrackingService
WorkflowSchedulerService
WorkflowLoaderService

Concepts

Création d'une application hôte de workflow

Autres ressources

Développement d'applications prenant en charge les workflows

Footer image

Copyright ©2007 par Microsoft Corporation. Tous droits réservés.