Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

WorkflowRuntime.AddService, méthode

Ajoute le service spécifié au moteur d'exécution de workflow.

Espace de noms :  System.Workflow.Runtime
Assembly :  System.Workflow.Runtime (dans System.Workflow.Runtime.dll)

public void AddService(
	Object service
)

Paramètres

service
Type : System.Object
Objet qui représente le service à ajouter.

ExceptionCondition
ArgumentNullException

service est une référence null (Nothing en Visual Basic).

ObjectDisposedException

L'objet WorkflowRuntime est supprimé.

InvalidOperationException

service est déjà enregistré auprès du moteur d'exécution de workflow.

ou

service est un service principal et le moteur d'exécution de flux de travail est déjà en cours d'exécution (IsStarted est true).

Vous pouvez configurer le moteur d'exécution de workflow en ajoutant des services principaux. Les services principaux sont ceux qui dérivent de chacune des classes de service de base suivantes : WorkflowSchedulerService, WorkflowCommitWorkBatchService, WorkflowPersistenceService et TrackingService. Les services principaux peuvent être ajoutés lorsque le moteur d'exécution de travail n'est pas exécuté ; autrement dit, lorsque IsStarted est false. L'objet WorkflowRuntime peut également être utilisé comme conteneur de stockage pour d'autres services qui peuvent être utilisés par d'autres workflows ou par les applications s'exécutant sur un hôte. Si vous ajoutez un service non principal qui dérive de la classe WorkflowRuntimeService après avoir démarré le moteur d'exécution de workflow, la méthode AddService appelle la méthode Start implémentée par ce service.

RemarqueRemarque

La méthode AddService applique la restriction selon laquelle deux services partageant le même objet Type ne peuvent être ajoutés à l'objet WorkflowRuntime. Toutefois, vous pouvez ajouter plusieurs services qui dérivent de la même classe de base. Il ne peut y avoir qu'un seul service dérivé de chacune des classes de service de base suivantes dans WorkflowRuntime : WorkflowSchedulerService, WorkflowCommitWorkBatchService et WorkflowPersistenceService. Si vous ajoutez plusieurs services dérivés de l'une de ces classes (par exemple, deux services de persistance), la méthode StartRuntime lève InvalidOperationException.

L'exemple de code suivant montre comment utiliser les fonctionnalités WorkflowRuntime d'un hôte de workflow. Il fournit un exemple d'utilisation de la méthode AddService pour ajouter des objets ExternalDataExchangeService et SqlWorkflowPersistenceService au moteur d'exécution de workflow.

Cet exemple de code fait partie Annuler un flux de travail de l'exemple.


static void Main()
{
    string connectionString = "Initial Catalog=SqlPersistenceService;Data Source=localhost;Integrated Security=SSPI;";

    using (WorkflowRuntime workflowRuntime = new WorkflowRuntime())
    {
        ExternalDataExchangeService dataService = new ExternalDataExchangeService();
        workflowRuntime.AddService(dataService);
        dataService.AddService(expenseService);

        workflowRuntime.AddService(new SqlWorkflowPersistenceService(connectionString));
        workflowRuntime.StartRuntime();

        workflowRuntime.WorkflowCompleted += OnWorkflowCompleted;
        workflowRuntime.WorkflowTerminated += OnWorkflowTerminated;
        workflowRuntime.WorkflowIdled += OnWorkflowIdled;
        workflowRuntime.WorkflowAborted += OnWorkflowAborted;

        Type type = typeof(SampleWorkflow1);
        WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(type);
        workflowInstance.Start();

        waitHandle.WaitOne();

        workflowRuntime.StopRuntime();
    }
}


.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft