Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
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.
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 :
Une activité Sequence qui contient une activité WriteLine enfant. Variable de l'activité parente est lié à un InArgument de l'activité enfant. Pour plus d’informations sur les variables, les arguments et la liaison, consultez Variables et Arguments.
Une activité personnalisée appelée
ReadLine
. Un OutArgument de l'activitéReadLine
est retourné à la méthode Invoke appelante.Activité personnalisée qui dérive de la CodeActivity classe abstraite. Le CodeActivity peut accéder aux fonctionnalités d’exécution (telles que le suivi et les propriétés) en utilisant le CodeActivityContext qui est disponible en tant que paramètre de la méthode Execute. Pour plus d'informations sur ces fonctionnalités d'exécution, consultez Suivi et traçage des flux de travail et Propriétés d'exécution des flux de travail.