Partager via


Utilisation de DefaultWorkflowSchedulerService

Le DefaultWorkflowSchedulerService est utilisé par le moteur d'exécution de workflow. Il crée et gère les threads exécutant des instances de workflow de façon asynchrone sur le moteur d'exécution de workflow. Les workflows en attente d'exécution sont stockés dans la file d'attente interne du DefaultWorkflowSchedulerService. Lorsque le DefaultWorkflowSchedulerService souhaite démarrer un workflow, un thread est acquis à partir du pool de threads .NET Framework , ce thread est utilisé pour exécuter le workflow. La propriété MaxSimultaneousWorkflows détermine le nombre de threads simultanés que le service de planificateur autorisera à un moment donné. Par exemple, si la limite est quatre, le DefaultWorkflowSchedulerService acquerra à jusqu'à quatre threads en provenance du pool de threads .NET Framework afin d'exécuter les workflows. Si quatre workflows sont déjà en cours d'exécution, des éléments de travail (workflows) sont placés dans la file d'attente et exécutés à mesure que des threads deviennent disponibles. L'illustration suivante illustre la façon dont le DefaultWorkflowSchedulerService exécute des workflows de façon asynchrone.

Exécution de workflow asynchrone

Vous pouvez définir le nombre maximal d'instances de workflow pouvant être actives simultanément en passant un paramètre au constructeur DefaultWorkflowSchedulerService ou en utilisant un fichier de configuration de l'application. Tâche 1 : configurer des services d'exécution à l'aide du code indique comment configurer la classe DefaultWorkflowSchedulerService en utilisant le constructeur. Tâche 2 : configurer des services d'exécution à l'aide d'App.Config affiche la même configuration du DefaultWorkflowSchedulerService, mais utilise un fichier de configuration de l'application.

NoteRemarque :

Affecter une valeur élevée à MaxSimultaneousWorkflows peut provoquer des privations dans le pool de threads .NET Framework. Ceci peut entraîner des délais d'attente lorsqu'un service de persistance essaie d'effectuer une transaction car les objets Transaction utilisent également le pool de threads .NET Framework.

Voir aussi

Référence

DefaultWorkflowSchedulerService
MaxSimultaneousWorkflows

Concepts

Services de planification de Windows Workflow

Footer image

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