Partager via


Procédure pas à pas : déploiement d'une application Web ASP.NET à l'aide de XCOPY

Mise à jour : novembre 2007

Le déploiement d'une application ASP.NET est extrêmement simple. Il suffit de copier les fichiers de l'application que vous avez créés de votre ordinateur de développement vers le serveur Web de production qui doit héberger votre application. Vous pouvez utiliser l'outil de ligne de commande XCOPY ou votre application FTP préférée pour opérer cette copie. Pour plus d'informations sur le déploiement général, consultez Concepts de base du déploiement du .NET Framework.

Remarque :

Au lieu de l'outil de ligne de commande XCOPY, pris en charge par toutes les versions du .NET Framework, vous pouvez utiliser le nouvel outil .NET Framework 2.0 situé dans %SystemRoot%\Microsoft.NET\Framework\version 2 or later\Aspnet_compiler.exe pour compiler et déployer votre application Web. Pour plus d'informations, consultez ASP.NET Compilation Tool, outil (Aspnet_compiler.exe).

Les assemblys que vous souhaitez partager dans des applications Web, tels que les assemblys qui contiennent des contrôles serveur ASP.NET personnalisés, doivent être déployés dans le Global Assembly Cache (GAC) sur un serveur distant.

Si vous déployez une application qui contient une référence à un composant personnalisé enregistré dans le Global Assembly Cache sur le serveur local, le composant ne sera pas déployé avec l'application sur le serveur distant. Vous devrez installer le composant dans le Global Assembly Cache sur le serveur distant, ou vous pourrez copier le composant personnalisé dans le dossier Bin de l'application Web locale avant le déploiement.

Pour plus d'informations, consultez Global Assembly Cache. Pour plus d'informations, consultez Programmation à l'aide d'assemblys.

Quelques outils de développement, tels que Visual Web Developer, ont des outils qui vous permettent de déployer facilement vos applications.

Composants requis

Pour exécuter cette procédure pas à pas, vous devez utiliser :

  • Le .NET Framework.

  • Un site Web ASP.NET existant. Si vous l'avez déjà configuré, vous pouvez l'utiliser comme point de départ de cette procédure pas à pas. Sinon, pour plus d'informations sur la création d'un répertoire ou d'un site virtuel, consultez Comment : créer et configurer des répertoires virtuels dans IIS 5.0 et 6.0.

  • Une destination accessible à l'aide d'un chemin d'accès ou d'un chemin UNC.

Remarque :

Cette procédure pas à pas ne suppose pas que vous utilisez un concepteur, tel que Visual Web Developer ou Visual Studio.

Préparation

Utilisez ces procédures si vous déployez un site Web de grande envergure et si vous souhaitez mettre le site Web cible hors ligne pendant que vous copiez des fichiers.

Pour mettre une application Web hors ligne avant le déploiement

  1. Créez un fichier appelé App_offline.htm et placez-le à la racine de votre site Web cible.

  2. Introduisez un message convivial dans le fichier App_offline.htm pour faire savoir aux clients que vous mettez à jour le site.

    Tant que le fichier App_offline.htm existera, toute demande effectuée sur le site Web sera redirigée vers le fichier.

    Remarque importante :

    N'oubliez pas de supprimer le fichier App_offline.htm après avoir terminé de copier les fichiers.

Lorsque des modifications sont apportées à certains types de fichiers et à certains dossiers, le domaine d'application redémarre. Vous pouvez configurer le nombre de secondes pendant lesquelles l'application attend une autre notification de modifications de fichier avant de redémarrer le domaine d'application.

Pour réduire le nombre de fois où votre domaine d'application redémarre

  1. Ouvrez le fichier Web.config de votre application Web. Si vous n'avez pas de fichier Web.config, vous pouvez en créer un à l'aide du code suivant.

    <?xml version="1.0"?>
    <configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0">
      <system.web>
      </system.web>
    </configuration>
    

    Pour plus d'informations, consultez Fichiers de configuration ASP.NET.

  2. Ajoutez un élément httpRuntime, élément (Schéma des paramètres ASP.NET) à votre fichier Web.config et affectez aux attributs waitChangeNotification un nombre de secondes qui dépasse le temps intermédiaire entre les mises à jour de deux notifications de modifications de copie de fichier. Par exemple, votre élément httpRuntime peut se présenter avec le code suivant :

    <?xml version="1.0"?>
    <configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0">
      <system.web>
        <httpRuntime       waitChangeNotification="5"    />
      </system.web>
    </configuration>
    
  3. Ajoutez un attribut maxWaitChangeNotification à votre élément httpRuntime et affectez-lui le nombre maximal de secondes de délai après la première notification de modifications de fichier avant de redémarrer le domaine d'application. Affectez-lui un nombre qui dépasse la durée nécessaire pour terminer tous les processus de copie de fichier. Les notifications de modifications de fichier sont combinées selon la valeur de cet attribut et de l'attribut waitChangeNotification. Par exemple, votre élément httpRuntime peut se présenter avec le code suivant :

    <?xml version="1.0"?>
    <configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0">
      <system.web>
        <httpRuntime 
          waitChangeNotification="5"
          maxWaitChangeNotification="10"
        />
      </system.web>
    </configuration>
    

Pour déployer une application Web ASP.NET en utilisant XCOPY à partir de la ligne de commande

  1. Cliquez sur Démarrer, puis sur Exécuter.

  2. Dans la zone Ouvrir de la boîte de dialogue Exécuter, tapez cmd, puis cliquez sur OK.

  3. À l'invite de commandes, tapez la commande suivante :

    xcopy /I /S<source path> <destination path>
    

    Dans cette commande, <source path> est le chemin d'accès complet à votre application Web et <destination path> est le chemin d'accès complet au répertoire dans lequel l'application sera déployée.

    Remarque :

    Vous devez utiliser les noms des répertoires physiques avec l'outil XCOPY. Vous ne pouvez pas utiliser des noms de répertoires virtuels.

    Le paramètre /S copie tous les sous-répertoires et les fichiers qu'ils contiennent.

    Le paramètre /I indique qu'un répertoire est copié. Si le dossier de destination n'existe pas, XCOPY en crée un.

    Dans l'exemple suivant, la commande copie tous les fichiers du répertoire c:\inetpub\wwwroot\devapp vers le répertoire d:\publicsites\liveapp.

    Xcopy /I /Sc:\inetpub\wwwroot\devapp d:\publicsites\liveapp
    
  4. Il se peut que la commande s'interrompe afin que vous répondiez à une question, telle que « Remplacer nom de fichier (Oui/Non/Tous) ? », pour laquelle vous pouvez taper votre réponse.

    Vous pouvez exclure de la copie des sous-répertoires, c'est-à-dire des fichiers dont le nom comporte une extension spécifique, ou encore certains noms de fichiers, en utilisant l'option /exclude de XCOPY. Pour plus d'informations et de paramètres, consultez Xcopy dans la fenêtre Aide et support disponible dans le menu Démarrer, ou tapez xcopy /? dans la ligne de commande.

Pour déployer ou mettre à jour des fichiers individuels dans une application Web ASP.NET à partir de la ligne de commande

  1. Cliquez sur Démarrer, puis sur Exécuter.

  2. Dans la zone Ouvrir de la boîte de dialogue Exécuter, tapez cmd, puis cliquez sur OK.

  3. À l'invite de commandes, tapez la commande suivante :

    xcopy <source path> <destination path>
    

    Dans cette commande, <source path> est le chemin d'accès complet au fichier source que vous souhaitez copier et <destination path> est le chemin d'accès complet au répertoire dans lequel le fichier copié sera placé.

    Dans l'exemple suivant, la commande copie une DLL unique d'un répertoire \Bin d'un lecteur vers un répertoire \Bin d'un autre lecteur.

    Xcopy c:\inetpub\wwwroot\devapp\bin\sampleAssembly.dll d:\publicsites\liveapp\bin
    

    Dans l'exemple suivant, la commande copie tous les fichiers DLL d'un répertoire Bin d'un lecteur vers un répertoire Bin d'un autre lecteur.

    Xcopy c:\inetpub\wwwroot\devapp\bin\*.dll d:\publicsites\liveapp\bin
    
  4. Il se peut que la commande s'interrompe afin que vous répondiez à une question, telle que « Remplacer nom de fichier (Oui/Non/Tous) ? », pour laquelle vous pouvez taper votre réponse.

Voir aussi

Tâches

Procédure pas à pas : développement et utilisation d'un contrôle serveur personnalisé

Procédure pas à pas : création des répertoires racine d'une application Web ASP.NET dans IIS 6.0

Concepts

Disposition des sites Web ASP.NET

Publication et déploiement des services Web XML

Autres ressources

Création de sites Web ASP.NET

Déploiement d'applications .NET Framework