Activation de service de workflow
Cette rubrique s'applique à Windows Workflow Foundation 4.
Un service de workflow doit être hébergé pour pouvoir répondre aux messages entrants. Les services de workflow utilisent l'infrastructure de messagerie WCF et sont donc hébergés de manière similaire. Comme les services WCF, les services de workflow peuvent être hébergés dans n'importe quelle application managée, dans les services IIS (Internet Information Services) ou WAS (Windows Process Activation Services). Pour plus d'informations sur le sujet suivant les différentes manières d'héberger des services WCF, consultez Hosting Services.
Hébergement dans une application managée
Pour héberger un service de workflow dans une application managée, utilisez la classe WorkflowServiceHost. Le constructeur WorkflowServiceHost vous permet de spécifier une instance singleton du service de workflow, une définition du service de workflow ou une activité qui utilise les activités de messagerie du workflow. L'appel à la méthode Open oblige le service à se mettre à l'écoute des messages entrants.
Hébergement dans les services IIS ou WAS
Héberger un service de workflow dans les services IIS ou WAS implique de créer un répertoire virtuel et d'y placer les fichiers qui définissent le service et son comportement. Lors de l'hébergement d'un service de workflow dans les services IIS ou WAS, il existe plusieurs possibilités :
Placez un fichier .xamlx définissant le service de workflow dans un répertoire virtuel IIS/WAS, ainsi qu'un fichier Web.config qui spécifie les comportements, les points de terminaison et d'autres éléments de configuration du service.
Placez un fichier .xamlx définissant le service de workflow dans un répertoire virtuel IIS/WAS. Le fichier .xamlx spécifie les points de terminaison à exposer. Les points de terminaison sont spécifiés dans un élément
WorkflowService.Endpoints
, comme le montre l'exemple suivant.<WorkflowService xmlns="https://schemas.microsoft.com/netfx/2009/xaml/servicemodel" xmlns:p1="https://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"> <WorkflowService.Endpoints> <Endpoint ServiceContractName="IWorkFlowEchoService" AddressUri=""> <Endpoint.Binding> <BasicHttpBinding /> </Endpoint.Binding> </Endpoint> </WorkflowService.Endpoints> <!-- ... --> </WorkflowService>
Remarque : Les comportements ne peuvent pas être spécifiés dans un fichier .xamlx ; vous devez donc utiliser un fichier Web.config si vous devez spécifier des paramètres de comportement. Placez un fichier .xamlx définissant le service de workflow dans un répertoire virtuel IIS/WAS. Placez également un fichier .svc dans le répertoire virtuel. Ce fichier .svc vous permet de spécifier une fabrique hôte de service Web personnalisée, d'appliquer le comportement personnalisé ou de charger la configuration à partir d'un emplacement personnalisé.
Placez un assembly dans le répertoire virtuel IIS/WAS qui contient une activité utilisant les activités de messagerie WCF.
Un fichier .xamlx définissant un service de workflow doit contenir un élément racine <Service> ou un élément racine contenant un type dérivé de l'objet Activity. Lors de l'utilisation du modèle Activité de Visual Studio 2010, un fichier .xamlx est créé. Lors de l'utilisation du modèle Service de workflow WCF, un fichier .xamlx est créé.
Référencement d'activités personnalisées
Les références aux activités personnalisées doivent être ajoutées à la section <Assemblies> sous <System.Web.Compilation>, afin qu'elles soient chargées dans le domaine d'application et que le désérialiseur XAML soit en mesure de localiser les types. Ces paramètres peuvent être effectués au niveau de l'application ou dans le Web.config racine si les paramètres doivent s'appliquer à toutes les applications sur l'ordinateur.
Déploiement
L'outil de déploiement Web a été créé pour simplifier le travail de déploiement. Cet outil vous permet de migrer des applications entre IIS 6.0 et IIS 7.0, de synchroniser des batteries de serveurs et d'empaqueter, d'archiver et de déployer des applications Web. Pour plus d'informations, consultez l'outil de déploiement MS