Comment : utiliser des paramètres de déploiement Web dans un Package de déploiement Web

Cette rubrique explique comment utiliser les paramètres de déploiement Web lorsque vous créez et installez des packages de déploiement Web. Les paramètres de déploiement Web sont utiles lorsque vous devez créer un package sans connaître certaines valeurs qui sont nécessaires lorsque le package est installé. Par exemple, la personne qui crée un package ne connaît peut-être pas un mot de passe nécessaire à l'installation de ce package. Les paramètres de déploiement Web sont également utiles lorsque vous devez installer le même package plusieurs fois et spécifier des paramètres différents chaque fois. Par exemple, vous pouvez également prévoir d'installer le même package dans l'environnement de test et dans l'environnement de production, auquel cas vous devez spécifier des points de terminaison WCF différents pour chaque environnement.

Cette rubrique suppose que vous savez comment créer et installer un package de déploiement. Pour plus d'informations, consultez Comment : créer un package de déploiement Web dans Visual Studio.

Utilisation des paramètres de script de base de données pour le déploiement

Vous pouvez inclure des paramètres dans un script SQL Server. L'exemple suivant indique comment inclure une variable nommée logText dans un script SQL Server et lui assigner la valeur par défaut "DefaultText".

:setvar logText DefaultText

INSERT [dbo].[Log] ([LogText]) VALUES (N'$(logText)')
GO

Dans Visual Studio, vous pouvez spécifier un script SQL Server qui doit être exécuté pendant le déploiement en sélectionnant Mettre à jour la base de données et en cliquant sur Configurer les mises à jour de base de données. Si le script contient des paramètres, Visual Studio crée automatiquement les paramètres de déploiement Web du package de déploiement. Vous pouvez fournir des valeurs pour ces paramètres lorsque vous installez le package, que vous utilisiez le Gestionnaire des services IIS ou un processus en ligne de commande.

Pour utiliser les paramètres de script de base de données pour le déploiement

  1. Créez un script SQL personnalisé avec un ou plusieurs paramètres.

  2. Ajoutez le script à la boîte de dialogue Configurer les mises à jour de base de données lorsque vous configurez le profil de publication.

  3. Créez le package de déploiement.

  4. Si vous utilisez le fichier deploy.cmd pour installer le package et voulez fournir une valeur différente de la valeur par défaut, modifiez la valeur par défaut dans le fichier SetParameters.xml avant d'installer le package.

    Par exemple, si vous avez ajouté le script indiqué dans l'exemple précédent, le fichier SetParameters.xml peut ressembler à ce qui suit :

    <parameters>
      <setParameter name="IIS Web Application Name" 
        value="Default Web Site/WebApplication1_deploy" />
      <setParameter name="ApplicationServices-Deployment Connection String"
        value="" />
      <setParameter name="Sql script variable $(logText) in ApplicationServices-Deployment scripts"
        value="DefaultText" />
      <setParameter name="ApplicationServices-Deployment Connection String"
        value="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" />
    </parameters>
    

    Vous pouvez modifier l'attribut value de l'élément XML en surbrillance pour définir la valeur du paramètre logText qui servira lors de l'exécution du script.

  5. Si vous utilisez le Gestionnaire des services IIS afin d'installer le package, vous êtes invité à entrer une valeur pour le paramètre dans la boîte de dialogue Entrer les informations sur le package d'application, comme indiqué dans l'illustration suivante :

    Boîte de dialogue Entrer les informations sur le package du Gestionnaire des services IIS

Utilisation des paramètres de déploiement pour les paramètres du fichier Web.Config

Vous pouvez utiliser les transformations de fichier Web.config pour modifier des paramètres dans le fichier Web.config déployé lorsque vous connaissez à l'avance les valeurs requises. (Pour plus d'informations, consultez Transformations du fichier Web.config sur le site ASP.NET.) Toutefois, si vous voulez spécifier des valeurs pour certains paramètres au moment de l'installation d'un package plutôt que lors de sa création, il est préférable d'utiliser les paramètres de déploiement. Par exemple, vous pouvez configurer les paramètres suivants lors de l'installation du package :

  • Points de terminaison du service WCF.

  • Points de terminaison de service Web.

  • Informations relatives à la sécurité telles que les clés de chiffrement.

Pour utiliser les paramètres de déploiement, vous devez les déclarer dans un fichier XML dans le répertoire du projet. Lorsque vous les déclarez, vous pouvez fournir une valeur par défaut. Vous pouvez ensuite modifier la valeur réellement déployée lorsque vous installez le package.

Pour utiliser les paramètres de déploiement pour les paramètres du fichier Web.config

  1. Créez un fichier texte vide, nommez-le parameters.xml et enregistrez-le dans le dossier du projet (dossier qui contient le fichier .csproj ou .vbproj de votre projet).

  2. Ajoutez un élément racine nommé parameters au fichier, comme indiqué dans l'exemple suivant :

    <parameters>
    </parameters>
    
  3. Pour chaque paramètre à ajouter, exécutez les étapes suivantes :

    1. Dans l'élément racine parameters, créez un élément parameter avec les attributs name, description, defaultValue et tags, comme indiqué dans l'exemple suivant :

      <parameters>
        <parameter name="WebService1 Endpoint Address" 
          description="Please provide the endpoint address for the Web service that you want to call."
          defaultValue=https://contoso.com/WebService1.asmx
          tags="">
        </parameter>
      </parameters>
      

      Lorsque vous installez le package à l'aide du Gestionnaire des services IIS, les valeurs d'attributs name et description s'affichent dans l'interface utilisateur, avec une zone de texte qui vous permet d'entrer une valeur pour le paramètre. La valeur d'attribut defaultValue est préchargée dans la zone de texte.

      Le paramètre est traité comme une valeur requise si vous omettez l'attribut defaultValue ou si vous lui affectez comme valeur une chaîne vide ou encore une chaîne qui contient des espaces uniquement. Lorsque vous installez le package à l'aide du fichier deploy.cmd Visual Studio, vous devez ensuite entrer une valeur dans le fichier SetParameters.xml.

      L'attribut tags vous permet de spécifier le type de données représentées par le paramètre, afin que l'interface utilisateur puisse faciliter l'entrée de données, le cas échéant. Par exemple, si vous spécifiez Boolean, l'interface utilisateur affiche une liste déroulante avec les options True et False. Si vous spécifiez DBConnectionString, l'interface utilisateur affiche un bouton en regard de la zone de texte, qui vous permet d'afficher une boîte de dialogue de chaîne de connexion. Pour obtenir la liste des balises que vous pouvez utiliser, consultez DeploymentWellKnownTag Enumeration sur le site Web Microsoft TechNet.

    2. Dans l'élément parameter, créez un élément parameterEntry avec les attributs kind, scope et match, comme indiqué dans l'exemple suivant :

      <parameters>
        <parameter name="WebService1 Endpoint Address"
          description="Please provide the endpoint address for the Web service that you want to call."
          defaultValue="https://contoso.com/WebService1.asmx"
          tags="">
        <parameterEntry 
          kind="XmlFile"
          scope="obj\\Debug\\Package\\PackageTmp\\Web\.config$"
          match="//setting[@name='WebService1EndPoint']/value/text()" />
        </parameter>
      </parameters>
      

      L'attribut kind spécifie le type de ressource auquel la valeur de paramètre sera appliquée. Dans la mesure où les fichiers Web.config sont des fichiers XML, cet attribut a la valeur "XmlFile".

      L'attribut scope est une expression régulière identifiant le chemin d'accès au fichier spécifique que vous voulez modifier. Dans ce cas, l'objectif est de modifier uniquement le fichier Web.config de l'application (et non les fichiers Web.config dans les sous-dossiers). Le chemin d'accès avec lequel l'expression établit la correspondance est celui qui a été stocké dans le fichier .zip lors de la création du package. L'expression régulière dans l'exemple reflète l'emplacement de création de package par défaut pour la configuration de build Debug.

      L'attribut match est une expression XPath qui sélectionne le nœud XML à modifier. L'expression doit sélectionner un nœud de texte ou un nœud d'attribut, et non un élément.

    3. Si vous voulez que la même valeur de paramètre soit mise à jour à plusieurs emplacements, créez un élément parameterEntry supplémentaire pour chaque emplacement dans lequel la valeur doit être mise à jour.

  4. Générez le package.

Si vous utilisez le fichier deploy.cmd pour installer le package, vous pouvez fournir une valeur différente de la valeur par défaut en modifiant le fichier SetParameters.xml. (Lorsque vous créez manuellement des paramètres dans le fichier parameters.xml, Visual Studio les ajoute automatiquement au fichier SetParameters.xml lorsqu'il génère le package. Pour obtenir un exemple, consultez la procédure précédente qui s'applique aux paramètres de script de la base de données.)

Si vous utilisez le Gestionnaire des services IIS pour installer le package, vous êtes invité à entrer une valeur pour le paramètre dans la boîte de dialogue Entrer les informations sur le package d'application. La boîte de dialogue affiche le nom, la description et la valeur par défaut que vous avez spécifiés, comme indiqué dans l'illustration suivante :

Boîte de dialogue Informations sur le package du Gestionnaire des services IIS

Utilisation de paramètres pour d'autres scénarios

Les procédures précédentes fournissent des instructions détaillées pour des scénarios courants dans lesquels les paramètres sont utiles. Les paramètres peuvent également être utilisés pour d'autres scénarios, par exemple lorsque vous devez mettre à jour le contenu d'un fichier texte ou de fichiers XML autres que les fichiers Web.config. La procédure suivante décrit comment utiliser les paramètres pour d'autres scénarios.

Pour utiliser d'autres types de paramètres

  1. Créez un paramètre en ajoutant un élément parameter au fichier parameters.xml, comme décrit dans la procédure précédente pour les paramètres de fichier Web.config.

  2. Ajoutez un ou plusieurs éléments parameterEntry qui indiquent où la valeur de paramètre sera utilisée.

    Pour plus d'informations sur les autres attributs et valeurs d'attributs que vous pouvez assigner à l'élément parameterEntry, consultez Using declareParam and setParam sur le site Web Microsoft TechNet.

Voir aussi

Concepts

Organigramme des informations relatives au déploiement Web pour Visual Studio et ASP.NET

Autres ressources

Paramétrage et transformation du fichier Web.config sur le blog de Vishal Joshi

Paramétrage du déploiement Web sur le blog de Vishal Joshi