Partager via


Hébergement de services de workflow

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, sous les services IIS (Internet Information Services) ou WAS (Windows Process Activation Services). De plus, les services de workflow peuvent être hébergés sous Windows Server App Fabric. Pour plus d’informations sur Windows Server App Fabric, consultez Documentation de Windows Server App Fabric, Fonctionnalités d’hébergement d’AppFabric et Concepts d’hébergement AppFabric. Pour plus d’informations sur les différentes façons d’héberger des services WCF, consultez Services d’hébergement.

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="http://schemas.microsoft.com/netfx/2009/xaml/servicemodel"  xmlns:p1="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
      <WorkflowService.Endpoints>
        <Endpoint ServiceContractName="IWorkFlowEchoService" AddressUri="">
          <Endpoint.Binding>
            <BasicHttpBinding />
          </Endpoint.Binding>
        </Endpoint>
      </WorkflowService.Endpoints>
    <!-- ... -->
    </WorkflowService>
    

    Notes

    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 qui définit 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 d’activité Visual Studio, un fichier .xamlx est créé. Lors de l’utilisation du modèle Service de workflow WCF, un fichier .xamlx est créé.

Hébergement des services de workflow sous Windows Server App Fabric

L'hébergement d'un service de workflow sous Windows Server App Fabric est similaire à l'hébergement sous IIS/WAS. La seule différence est que Windows Server App Fabric est installé. Windows Server App Fabric fournit des outils qui sont ajoutés au Gestionnaire des services IIS, ainsi que des applets de commande PowerShell. Ces outils simplifient le déploiement, la gestion et le suivi des services de workflow et des services WCF.

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 Outil de déploiement MS.

Voir aussi