À quoi sert le dossier «Fichiers ASP.NET temporaires»?

157

J'ai découvert ce dossier dans C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Fileset j'ai quelques questions.

  • Pourquoi ASP.NET utilise-t-il ce dossier et quel type de fichiers sont stockés ici?
  • Comment un fichier est-il stocké ici et quand est-il mis à jour?
  • Le dossier nécessite-t-il une sorte de maintenance?
Alex Angas
la source
9
Au cas où quelqu'un chercherait ce répertoire, il semble s'être déplacé C:\Users\[Username]\AppData\Local\Temp\Temporary ASP.NET Files.
Peter

Réponses:

174

Ce sont ce que l'on appelle les dossiers de cliché instantané.

Simplement ... et je le pense vraiment:

Lorsque ASP.NET exécute votre application pour la première fois, il copie tous les assemblys trouvés dans le dossier / bin, copie tous les fichiers de code source (trouvés par exemple dans le dossier App_Code) et analyse vos fichiers aspx, ascx dans les fichiers source c #. ASP.NET génère / compile ensuite tout ce code dans une application exécutable.

Un avantage de cette opération est qu'elle empêche la possibilité que la DLL d'assemblage .NET # (dans le dossier / bin) soit verrouillée par le processus de travail ASP.NET et ne puisse donc pas être mise à jour.

ASP.NET surveille les modifications de fichiers sur votre site Web et recommencera si nécessaire l'ensemble du processus.

Théoriquement, le dossier ne devrait pas nécessiter de maintenance, mais de temps en temps, et très rarement, vous devrez peut-être supprimer le contenu. Cela dit, je travaille pour une société d'hébergement, nous gérons jusqu'à 1200 sites par serveur partagé et je n'ai pas eu à toucher à ce dossier sur l'une des 250 machines environ depuis des années.

Ceci est décrit dans l'article MSDN Présentation de la compilation dynamique ASP.NET

Kev
la source
Salut Kev, j'ai une dll com, qui est copiée dans ce dossier, dll a besoin de quelques fichiers de configuration dans son dossier actuel afin de s'exécuter. comment puis-je m'assurer qu'ils sont également copiés dans ce dossier?
Rakesh
2
@robot - Vous avez probablement déjà trouvé la réponse, mais pour le bien des futurs lecteurs, vous pouvez trouver l'emplacement "d'origine" de la DLL en utilisant Reflection et accéder aux fichiers de configuration de cette façon. Voir stackoverflow.com/a/837501/211627
JDB se souvient toujours de Monica
2
Ce dossier semble se remplir pour moi en raison de l'intégration continue - chaque fois que le site est déployé (plusieurs fois par jour), une nouvelle copie est créée dans le dossier - 29 Go jusqu'à présent.
Andy Joiner
3
En tant que service d'hébergement de site Web, vous ne touchez peut-être jamais à ce dossier, mais pour les développeurs, c'est de loin le plus gros casse-tête auquel nous devons faire face.J'ai passé de nombreux jours entiers à essayer de résoudre ce qui devrait être des problèmes triviaux, mais la combinaison de l'ombre IIS Les projets de style de copie et de site Web Visual Studio sont un cauchemar et je dois effacer le contenu de ce dossier plusieurs fois par jour.
bikeman868
8

Le CLR l'utilise lors de la compilation au moment de l'exécution. Voici un lien vers MSDN qui explique plus en détail.

cgreeno
la source
4

C'est là que asp.net met des assemblys compilés dynamiquement.

StingyJack
la source