Partage via


Procédure de configuration de fournisseurs de magasin d'instances, de requête et de contrôle

Après avoir développé un fournisseur de magasin, de requête ou de contrôle, vous devez l'enregistrer en procédant de la manière décrite dans la rubrique Procédure d'enregistrement de fournisseurs personnalisés. Le programme d'installation du fournisseur doit procéder de la manière décrite ci-après :

  1. Exécuter les fichiers de script qui créent le magasin d'instances physiques et installent les assemblys du fournisseur sur l'ordinateur.

  2. Ajouter une définition pour le fournisseur de magasin d'instances au fichier Web.config racine.

  3. Ajouter une définition pour le magasin d'instances à un fichier Web.config.

  4. Configurer le comportement du magasin d'instances pour un service dans le fichier de configuration associé à celui-ci.

Le reste de cette rubrique décrit comment ajouter une définition de fournisseur, une définition de magasin et un comportement de magasin utilisant le magasin pour un fichier de configuration.

Définition de fournisseur de magasin d'instances

Vous devez définir un fournisseur de magasin d'instances dans le fichier Web.config racine pour chaque type de magasin d'instances que vous comptez utiliser avec Microsoft AppFabric 1.1 pour Windows Server. La définition de fournisseur de magasin d'instances contient les paramètres suivants :

Notes

Le fichier web.config de l'ordinateur est accessible à deux emplacements : dans le dossier <lecteur>\Windows\Microsoft.NET\Framework\v4.0.30319\Config et dans le répertoire de l'application.

  • Nom. Spécifie le nom du fournisseur de magasin d'instances. Ce paramètre est obligatoire.

  • Fournisseur de magasin. Spécifie le nom complet du type qui implémente la classe abstraite InstanceStoreProvider et l'assembly contenant le type. Ce paramètre est obligatoire.

  • Fournisseur de requête. Spécifie le nom complet du type qui implémente la classe abstraite InstanceQueryProvider et l'assembly contenant le type. Ce paramètre est obligatoire. Si le magasin n'implémente pas de fournisseur de requête, vous devez spécifier une chaîne vide comme valeur pour ce paramètre.

  • Fournisseur de contrôle. Spécifie le nom complet du type qui implémente la classe abstraite InstanceControlProvider et l'assembly contenant le type. Ce paramètre est obligatoire. Si le magasin n'implémente pas de fournisseur de contrôle, vous devez spécifier une chaîne vide comme valeur pour ce paramètre.

Le programme d'installation d'AppFabric ajoute une définition de fournisseur de magasin destinée au fournisseur de magasin d'instances pour le magasin d'instances du flux de travail SQL, comme illustré dans l'exemple suivant.

<configuration>
    <microsoft.applicationServer>
        <persistence>
            <instanceStoreProviders>
                <add name="sqlStoreProvider"
                    storeProvider="Microsoft.ApplicationServer.StoreProvider.Sql.SqlWorkflowInstanceStoreFactory, Microsoft.ApplicationServer.StoreProvider, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                    queryProvider="Microsoft.ApplicationServer.StoreManagement.Sql.Query.SqlInstanceQueryProvider, Microsoft.ApplicationServer.StoreManagement, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                    controlProvider="Microsoft.ApplicationServer.StoreManagement.Sql.Control.SqlInstanceControlProvider, Microsoft.ApplicationServer.StoreManagement, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
            </instanceStoreProviders>
        </persistence>
    </microsoft.applicationServer>
</configuration>

Durant l'installation de votre fournisseur de magasin d'instances personnalisé, vous devez ajouter la définition de fournisseur de magasin au fichier Web.config racine, de la même manière que l'installation d'AppFabric ajoute la définition pour le fournisseur d'instance SQL. Comme le montre l'exemple précédent, la définition de fournisseur fait partie de la section de configuration de Microsoft AppFabric 1.1 pour Windows Server (Microsoft.ApplicationServer). C'est pourquoi vous devez installer AppFabric avant d'installer vos fournisseurs de magasin personnalisés. Si vous installez un fournisseur de magasin avant d'installer AppFabric, vous devez ajouter manuellement les sections de configuration du fournisseur de magasin correspondantes au fichier Web.config racine. Lorsque vous désinstallez AppFabric, la section Microsoft.ApplicationServer est entièrement supprimée. Vous pouvez supprimer le fournisseur de magasin d'instances personnalisé (pas la définition, mais l'assembly contenant le type de fournisseur de magasin) avant ou après la désinstallation d'AppFabric.

Définition de magasin d'instances

Une définition de magasin d'instances définit un magasin d'un type spécifique. Une définition de magasin contient les paramètres suivants :

  1. Nom. Spécifie le nom du magasin d'instances. Ce paramètre est obligatoire. Sa valeur peut être une chaîne vide.

  2. Description. Spécifie la description du magasin d'instances. Ce paramètre est facultatif. La valeur par défaut de ce paramètre est une chaîne vide.

  3. Fournisseur de magasin. Spécifie le nom du fournisseur de magasin d'instances. Ce paramètre est obligatoire.

  4. Attributs supplémentaires. Spécifie des attributs supplémentaires représentés sous forme de paires nom-valeur. Une adresse de magasin (telle qu'une chaîne de connexion pour le fournisseur de magasin d'instances SQL) doit être définie à l'aide de l'un de ces paramètres. Autrement, le service de gestion du flux de travail (WMS) ne peut pas se connecter au magasin.

L'exemple suivant présente les magasins d'instance définis dans le fichier Web.config racine. Vous allez devoir ajouter un magasin d'instances personnalisé de la même manière.

<configuration>
    <microsoft.applicationServer>
        <persistence>
            <instanceStores>
                <add name="storeA"
                    provider="sqlStoreProvider"
                    connectionStringName="storeA-str" />
                <add name="storeB"
                    provider="sqlStoreProvider"
                    connectionStringName="storeB-str" />
                <add name="storeC"
                    provider="MyStoreProvider"
                    MyAddressStringName="storeC-str"
                    value1="rrr"
                    value2="sss"
                    value3="ttt" />
            </instanceStores>
        </persistence>
    </microsoft.applicationServer>
</configuration>

Un magasin défini sur une étendue donnée est automatiquement hérité par les étendues plus petites. Vous pouvez supprimer la définition de magasin héritée d'une étendue en utilisant l'élément <remove/> ou </clear>.

Extension de comportement de magasin d'instances

Vous devez définir un élément d'extension de comportement pour le magasin d'instances de façon à ce qu'un utilisateur puisse associer un service à votre magasin d'instances. L'installation d'AppFabric ajoute l'élément d'extension de comportement suivant au fichier machine.config, de façon à ce que vous puissiez utiliser sqlWorkflowInstanceStoreBehavior avec votre service. Vous devez ajouter la définition de comportement de magasin de façon similaire durant l'installation du fournisseur de magasin.

<system.serviceModel>
    <extensions>
        <behaviorExtensions>
            <add name="sqlWorkflowInstanceStore" type="System.ServiceModel.Activities.Configuration.SqlWorkflowInstanceStoreElement, System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        </behaviorExtensions>
    </extensions>
</system.serviceModel>

Les extensions de comportement et les gestionnaires de section, par exemple SqlWorkflowInstanceStore et workflowInstanceControl dans le fichier machine.config, définissent un comportement sans nom associé à des paramètres par défaut au niveau de la racine. Ajoutez des extensions de comportement et des gestionnaires de section spécifiques du magasin au fichier machine.config. L'installation d'AppFabric ajoute automatiquement l'extension de comportement pour les comportements SqlWorkflowInstanceStore et WorkflowInstanceControl.

Configuration d'un service pour utiliser le comportement et le magasin

Pour activer la persistance d'un service, vous devez définir un comportement de magasin d'instances dans le fichier Web.config associé à une application ou à un service, puis associer le service au comportement. L'exemple suivant présente une définition du comportement sqlWorkflowInstanceStore. La valeur de connectionStringName est paramétrée sur une définition de magasin d'instances, qui pointe à son tour sur une chaîne de connexion.

<system.serviceModel>
    <behaviors>
        <serviceBehaviors>
            <behavior name=”myServiceBehavior”>
                <sqlWorkflowInstanceStore
                    connectionStringName="storeA-str"
                    instanceCompletionAction=”DeleteAll”
                    instanceLockedExceptionAction=”NoRetry”
                    hostLockRenewalPeriod=”00:00:30”
                    runnableInstanceDetectionPeriod=”00:00:10” />
            </behavior>
        </serviceBehaviors>
    </behaviors>
</system.serviceModel>

Configuration de magasin d'instances de flux de travail SQL

Le programme d'installation de Microsoft AppFabric 1.1 pour Windows Server crée une définition du fournisseur de magasin d'instances pour le magasin d'instances du flux de travail SQL dans le fichier Web.config racine. L'outil de configuration de Microsoft AppFabric 1.1 pour Windows Server assure les fonctions suivantes :

  • Il crée une définition d'un magasin d'instances du flux de travail SQL dans le fichier Web.config racine. Cette définition contient une chaîne de connexion qui fait référence à la base de données ApplicationServerExtension.

  • Il crée un magasin d'instances physiques, une base de données SQL Server nommée ApplicationServerExtensions.

  • Il installe le service de gestion du flux de travail (WMS) comme service Windows. Il ajoute la section de configuration de WMS par défaut au fichier Web.config racine avec un paramètre donnant pour instruction au service WMS de découvrir automatiquement les magasins d'instances.

  2012-03-05