Déployer une application web ASP.NET à l’aide du déploiement Xcopy

Cet article décrit comment utiliser la commande MS-DOS Xcopy pour déployer une application web Microsoft ASP.NET.

              Version d’origine du produit : ASP.NET
Numéro de l’article d’origine dans la base de connaissances : 326355

Résumé

Le déploiement de style Xcopy n’est pas adapté à toutes les situations. Pour les sites web de grande taille et pour les applications cœur de métier, nous vous recommandons de mettre temporairement le site hors ligne. Il est conseillé le faire pendant que le nouveau contenu et les assemblys d’application sont déployés. Vous pouvez effectuer cette maintenance à une heure planifiée qui vous convient. Pour minimiser le temps d’arrêt planifié, procédez comme suit :

  1. Créez un nouveau répertoire physique pour l’application que vous souhaitez mettre à jour. Copiez tout le nouveau contenu dans le nouveau répertoire physique.

  2. Reconfigurez le répertoire virtuel pour que l’application pointe vers le nouveau répertoire physique avec le nouveau contenu.

    Remarque

    Lorsque vous déployez un nouveau contenu sur une application Web ASP.NET, l’application peut redémarrer. Si vous avez des applications volumineuses ou complexes qui nécessitent une mémoire importante, la consommation de mémoire peut être augmentée. Lorsque vous redémarrez l’application, des problèmes de prise en charge peuvent survenir. Cela inclut la perte de l’état de la session utilisateur.

Qu’est-ce que le déploiement Xcopy ?

Le déploiement Xcopy décrit le déploiement dans ASP.NET où vous utilisez la fonction glisser-déposer dans l’explorateur Microsoft Windows, le protocole de transfert de fichiers (FTP) ou la commande DOS Xcopy pour copier des fichiers d’un emplacement à un autre. L’application ASP.NET ne nécessite aucune modification du registre et n’a aucune exigence d’installation particulière pour la société hôte sur les sites hébergés.

Les avantages du déploiement Xcopy

Un transfert de fichiers de style Xcopy simplifie le déploiement et la maintenance des sites ASP.NET car vous ne créez aucune entrée de registre et n’enregistrez aucun composant. Les applications Microsoft .NET sont auto-descriptives, généralement sans dépendances. Avec le contrôle de versions d’assembly, vous pouvez même copier une nouvelle copie d’une bibliothèque de liens dynamiques (DLL) que l’application utilise sans arrêter le serveur web.

Les différences entre le déploiement Xcopy et Copier un projet dans Visual Studio .NET

Le déploiement de Xcopy ne nécessite pas l’installation d’un logiciel spécial sur l’ordinateur de développement ou sur le serveur web. La méthode Copier un projet dans Visual Studio .NET nécessite que vous installiez les extensions serveur Microsoft FrontPage (FPSE) sur le serveur distant. Xcopy vous permet également de remplacer uniquement les fichiers les plus récemment modifiés. Vous pouvez soit sélectionner les fichiers manuellement pour les remplacer, soit utiliser le switch /d sur la commande Xcopy pour spécifier la date, comme suit :

xcopy source [destination] /D:m-d-y

Définir le répertoire virtuel en tant qu’application IIS

Si vous n’avez pas encore configuré le répertoire de destination, vous devez le configurer en tant qu’application dans Microsoft Internet Information Services (IIS) avant de transférer les fichiers. Pour configurer le répertoire virtuel, procédez comme suit :

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Gestionnaire des services Internet.
  2. Dans le volet gauche, cliquez avec le bouton droit sur le nom de votre répertoire virtuel, puis cliquez sur Propriétés.
  3. Assurez-vous que le nom du site web ou le nom du répertoire virtuel est répertorié dans la zone Nom de l’application sous Paramètres de l’application. Si ce n’est pas le cas, cliquez sur Créer.

Résolution des problèmes

Dans certains cas, vous ne pouvez pas terminer le déploiement de l’application web ASP.NET par le seul transfert de fichiers Xcopy. Ces cas comprennent les suivants :

  • Les assemblys qui nécessitent une installation dans le Global Assembly Cache (GAC). Si vous devez partager l’un des assemblys qu’ASP.NET utilise sur plusieurs domaines d’application, vous devez utiliser l’utilitaire Gacutil.exe pour enregistrer ces assemblys dans le GAC. Vous devez désinscrire, remplacer, puis réinscrire les assemblys chaque fois que vous déployez l’application.

  • COM (Component Object Model) Interop. Si l’application ASP.NET utilise des composants COM via COM Interop, vous devez enregistrer ces composants COM auprès des services COM+.

  • Composants pris en charge. Microsoft vous recommande d’utiliser l’utilitaire Regsvcs.exe pour enregistrer toutes les classes qui utilisent les services COM+ (qui sont dérivés de la classe System.EnterpriseServices.ServicedComponent).

References