À quoi sert le dossier client aspnet dans le cadre de la structure IIS?

je remarque qu'il y a souvent un dossier aspnet_client sous la structure standard du dossier web IIS. Qu'est-ce utilisé? Est-il nécessaire?

103
iis
demandé sur Guy 2008-10-17 01:52:27

7 réponses

dans le .net 1.1 jours et avant, ce dossier a fourni ASP.NET avec son support JavaScript pour les contrôles de validation et autres fonctionnalités. Si vous ne disposez pas d'un site.net 1.1 ou d'un site plus ancien, vous pouvez le supprimer en toute sécurité. Je le renommerais d'abord pour m'assurer qu'il ne cause aucun problème.

85
répondu Duncan 2017-05-09 12:59:20

en plus de ce que d'autres ont dit, il est généralement créé par l'outil aspnet_regiis, qui peut être (re)exécuté par des choses comme Windows Update/AddRemove Windows components/IIS. Donc parfois, même si vous l'effacez, il peut revenir au hasard. Il y a peut-être un moyen d'arrêter ce comportement, mais je ne l'ai pas trouvé (peut-être en changeant la version de l'application en .NET 2 le ferait en fait).

donc sauf si vous utilisez certaines fonctionnalités de .NET 1.0 / 1.1 (validation, Smart Navigation etc) Vous pouvez le supprimer sans aucun problème, ne soyez pas trop surpris s'il revient!

64
répondu spmason 2014-01-23 21:06:40

aspnet_client est un dossier pour "les ressources qui doivent être servies via HTTP, mais qui sont installées sur une base par serveur, plutôt que sur une base par application".

certaines des utilisations de aspnet_client incluent le stockage de ressources (par ex. JavaScript, images) pour:

  • JavaScript pour ASP.NET contrôles de Formulaires Web lors de l'utilisation de la validation côté client (principalement à malmener les anciens navigateurs comme IE5, paraît-il)
  • ASP.NET 2,0 (jusqu'à au framework 4.0) pour le " Mondial des Thèmes (global à tous les sites sur un serveur, qui est)
  • certaines versions de Crystal Reports

il y a probablement d'autres utilisations (ab)de ce dossier dans le futur. Inutile de dire que, puisqu'il contient des choses qui sont "nécessaires pour que l'application fonctionne correctement", mais qui "ne sont pas censés être déployés par l'application", il restera quelque chose d'un cauchemar pour les développeurs et système administrateur.

il semble que le "prototype" pour le contenu du dossier est en C:\inetpub\wwwroot\, et il semble raisonnable de supposer que si un site IIS donné manque d'une ressource / aspnet_client, alors IIS va essayer de faire la bonne chose et ... comme un dernier recours ... faire un dossier physique dans le dossier racine du site web, et de copier les fichiers. Il semble que IIS le fera au moins lorsque "ASPNET_regiis / c" est invoqué sur un serveur donné - ce qui se produit probablement automatiquement à certaines jonctions critiques ... comme lorsque les mises à jour de .net framework sont appliquées à un serveur qui a le rôle IIS.

les stratégies pour manipuler le répertoire aspnet_client incluent: * spécification d'un répertoire virtuel associé à C:\inetpub\wwwroot dans l'espoir que IIS renoncera à créer un répertoire physique * supprimer le répertoire physique de temps en temps si vous êtes sûr que votre site n'en a pas besoin et ça vous gêne vraiment * ne pas tenir compte aspnet_client * exécuter "ASPNET_regiis / c" vous-même si vous manquez le dossier, et en avez besoin

probablement le plus important, en tant que développeur, vous devriez clairement comprendre et documenter les dépendances de vos applications sur le répertoire aspnet_client, et vous assurer que votre procédure d'installation a des instructions pertinentes pour s'assurer que le répertoire existe. Cependant, vous ne devriez probablement pas prendre la peine de réellement fournir le répertoire dans le cadre de votre packaged web application ou site web-Comment pourriez-vous faire cela pour chaque version du .net framework que le serveur verra au cours de la durée de vie de votre application?!

quelques liens que je reviendrai plus tard:

14
répondu David Bullock 2017-05-23 11:47:29

Il dispose également de certaines icônes et scripts qui sont nécessaires pour crystal rapports à exécuter correctement, même dans les versions postérieures à 1.1

8
répondu 2008-11-07 09:22:13

le dossier est habituellement pour stocker côté client Javascript, qui ASP.NET utilisations pour des choses comme la validation.

Il doit être sûr pour le supprimer.

3
répondu JamesSugrue 2008-10-16 21:59:40

a pensé que j'ajouterais ceci ici car c'est le lien vers lequel je continuais à être dirigé quand j'ai googlé cette question. Apparemment, avec .NET 4.0 et les versions plus récentes, ce dossier n'est plus nécessaire et peut être supprimé sans problème.

1
répondu David 2015-05-22 16:37:19

si vous utilisez Installshield pour configurer ASP.net site web, sachez que cette fonctionnalité était présente dans Installshield 2010 et est manquante dans Installshield 2012. Installshield 2010 Vs 2012

0
répondu Vishnu Prasanth 2018-02-23 09:57:24