Utilitaires de service de workflow
Ce projet contient l'ensemble des utilitaires utilisés dans les autres exemples de cette section qui permettent de manipuler le contexte et de créer l'infrastructure de l'écouteur pour des services locaux. Ce projet n'est pas un exemple ; il est utilisé par les exemples Duplex Workflow Service, exemple et Calculator Client, exemple comme projet d'utilitaire.
Remarque : |
---|
Cet exemple requiert l'installation de .NET Framework version 3.5 pour pouvoir être généré et exécuté. Visual Studio 2008 est requis pour l'ouverture des fichiers solution et de projet. |
Ce projet fournit les deux classes d'assistance suivantes : LocalWorkflowServiceHost
et ContextManager
.
LocalWorkflowServiceHost
La classe d'assistance LocalWorkflowServiceHost
permet à une application hôte locale d'interagir avec une instance WorkflowService unique. Toutes les interactions sont effectuées à l'aide de la messagerie via des contrats de service. Le type ServiceHost crée un ServiceHost pour une implémentation de service singleton que localhost fournit, et un WorkflowServiceHost pour l'implémentation de service de workflow. Il crée automatiquement des points de terminaison d'écouteur locaux pour le service local et le service de workflow afin d'activer la communication. Le workflow peut communiquer avec les points de terminaison localhost à l'aide d'un point de terminaison client appelé HostEndpoint
. L'hôte local peut utiliser CreateLocalChannel<T> pour créer des canaux au service de workflow. Cette classe gère également le contexte pour une instance de workflow unique afin qu'une application puisse être arrêtée et redémarrée, en récupérant l'instance de workflow précédente. Cela suppose que l'instance de workflow soit stockée de manière fiable.
ContextManager
La classe ContextManager
fournit toutes les fonctions d'assistance requises pour manipuler le contexte. Elle fournit les fonctions permettant d'extraire le contexte du canal, de l'appliquer à ce dernier et d'appliquer une adresse de point de terminaison à l'activité d'envoi.
Pour tirer parti de ces classes d'assistance, vous pouvez utiliser cet exemple dans vos propres solutions.