Est-il possible de configurer l'emplacement du dossier «Fichiers ASP.NET temporaires» dans IIS?

25

Sous IIS7.5 après avoir changé l'identité du pool en utilisateur de domaine, j'ai eu cette erreur:

«L'identité actuelle (domaine \ nom d'utilisateur) ne dispose pas d'un accès en écriture à« C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Fichiers ASP.NET temporaires ».»

Je pourrais accorder les droits d'utilisateur à ce répertoire spécifique, mais je me demande s'il y a une meilleure solution. Idéalement, je voudrais configurer ce répertoire "Fichiers ASP.NET temporaires" pour qu'il soit stocké dans un autre emplacement.

PanJanek
la source
J'ai également reçu le message d'erreur lorsque j'essaie accidentellement d'exécuter une application de service Web .Net 3.5 sur un pool d'applications .Net 2.0 (par défaut); le passage à un pool d'applications .Net 4.0 a résolu ce problème.
Tor Iver Wilhelmsen

Réponses:

23

Vous pouvez modifier l'emplacement par défaut par site Web / application en modifiant la section Configuration du Web.configfichier.

<system.web>
  <compilation tempDirectory="D:\MyTempFiles" />
</system.web>

L'application se recompilera et les fichiers seront stockés à ce nouvel emplacement, après quoi vous pourrez supprimer en toute sécurité les anciens dossiers. Notez que les noms de dossier resteront les mêmes; par exemple, si l'ancien emplacement était:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\9878g103\e67805p7

alors le nouveau sera:

D:\MyTempFiles\root\9878g103\e67805p7
ShaneH
la source
7
Merci beaucoup ShaneH pour votre réponse. Le changement que vous avez mentionné ne doit pas nécessairement se faire par site Web / application. Vous pouvez appliquer cette modification en fonction de la version du framework en modifiant le fichier web.config du framework, par exemple: C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ web.config. En faisant cela, vous avez un impact sur tous les sites Web qui ciblent cette version du cadre.
Silviu
4
Juste pour noter, cela appartient à la section system.web du web.config
CoderTao
@Silviu Juste un avertissement: si vous avez beaucoup de sites Web sur le serveur, cela peut prendre quelques minutes pour effectuer la (les) compilation (s)
splattne
J'ai ajouté cette section à machine.config. Ça marche.
Evgeni Nabokov