Qu'est-ce que le déploiement Xcopy
Le déploiement Xcopy décrit le déploiement dans ASP.NET où vous utilisez la fonctionnalité glisser-déplacer dans l'Explorateur Windows, le protocole de transfert de fichiers (FTP) ou la commande 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.
Déploiement Xcopy
Le déploiement de style Xcopy n'est pas adapté à toutes les situations. Pour les grands sites Web et pour les applications sectorielles, il est recommandé de mettre temporairement le site hors ligne ou d'effectuer un déploiement Blue-Green. Vous voulez 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 vous convenant. Pour minimiser le temps d'arrêt programmé, procédez comme suit :
- 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.
- Reconfigurez le répertoire virtuel pour que l'application pointe vers le nouveau répertoire physique avec le nouveau contenu.
Lorsque vous déployez un nouveau contenu sur une application Web ASP.NET, l'application peut redémarrer. Si vous avez des applications volumineuses et des applications complexes nécessitant 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.
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 faites aucune entrée de registre et vous n'enregistrez aucune composante. Les applications .NET sont auto-descriptives, généralement sans dépendances. Avec la gestion des 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 Copy Project 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 Copy Project de Visual Studio .NET nécessite que vous installiez les extensions serveur FPSE (Microsoft FrontPage) sur le serveur à distance. Le 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 commutateur /d de 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 IIS (Internet Information Services) avant de transférer les fichiers. Pour configurer le répertoire virtuel, procédez comme suit :
- Cliquez sur Démarrer (Start), pointez sur Programmes (Programs), pointez sur Outils d'administration (Administrative Tools), puis cliquez sur Gestionnaire des services Internet (Internet Services Manager).
- Dans le volet gauche, cliquez avec le bouton droit sur le nom de votre répertoire virtuel, puis cliquez sur Propriétés (Properties).
- 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 (Application Name) sous Paramètres de l'application (Application Settings). Si ce n'est pas le cas, cliquez sur Créer (Create).
Dépannage
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 nécessitant 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.
- Interopérabilité COM (Component Object Model) : Si l'application ASP.NET utilise des composantes COM via interopérabilité COM, vous devez enregistrer ces composantes COM avec les services COM+.
- Composantes entretenus : Microsoft vous recommande d'utiliser l'utilitaire Regsvcs.exe pour enregistrer toutes les classes qui utilisent les services COM+ (dérivés de la classe System.EnterpriseServices.ServicedComponent).