Partager via


Vue d’ensemble du flux de travail Windows

Un flux de travail est un ensemble d’unités élémentaires appelées activités stockées en tant que modèle qui décrit un processus réel. Les flux de travail permettent de décrire l’ordre d’exécution et les relations dépendantes entre des éléments de travail court ou long. Ce travail passe par le modèle du début à la fin, et les activités peuvent être exécutées par des personnes ou par des fonctions système.

Moteur d’exécution du flux de travail

Chaque instance de flux de travail en cours d’exécution est créée et gérée par un moteur d’exécution in-process avec lequel le processus hôte interagit via l’une des opérations suivantes :

  • Un WorkflowInvoker, appelant le flux de travail comme si c'était une méthode.

  • Un WorkflowApplication pour contrôler explicitement l'exécution d'une instance de workflow unique.

  • Un WorkflowServiceHost pour les interactions basées sur les messages dans des scénarios à instances multiples.

Chacune de ces classes encapsule le runtime d’activité principal représenté comme ActivityInstance responsable de l’exécution de l’activité. Plusieurs objets peuvent s’exécuter ActivityInstance simultanément dans un domaine d’application.

Chacun des trois objets d’interaction hôte précédents est créé à partir d’une arborescence d’activités appelée programme de flux de travail. À l’aide de ces types ou d’un hôte personnalisé qui encapsule, les flux de travail peuvent être exécutés dans n’importe quel processus Windows, y compris les applications console, les applications basées ActivityInstancesur des formulaires, les services Windows, les sites web ASP.NET et les services Windows Communication Foundation (WCF).

Composants de flux de travail dans le processus hôte
Composants de flux de travail dans le processus hôte

Interaction entre les composants de flux de travail

Le diagramme suivant montre comment les composants de flux de travail interagissent les uns avec les autres.

Diagramme montrant comment les composants de flux de travail interagissent.

Dans le diagramme précédent, la Invoke méthode de la WorkflowInvoker classe est utilisée pour appeler plusieurs instances de flux de travail. WorkflowInvoker est utilisé pour les flux de travail légers qui n’ont pas besoin de gestion à partir de l’hôte ; Les flux de travail qui ont besoin de la gestion à partir de l’hôte (comme Bookmark la reprise) doivent être exécutés à l’aide Run à la place. Il n’est pas nécessaire d’attendre qu’une instance de flux de travail se termine avant d’appeler une autre. le moteur d’exécution prend en charge l’exécution simultanée de plusieurs instances de workflow. Les flux de travail appelés sont les suivants :

Voir aussi