Ist es möglich, den Speicherort des Ordners "Temporäre ASP.NET-Dateien" in IIS zu konfigurieren?

25

Unter IIS7.5 habe ich nach dem Wechsel der Poolidentität zum Domänenbenutzer den folgenden Fehler erhalten:

"Die aktuelle Identität (Domäne \ Benutzername) hat keinen Schreibzugriff auf" C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporäre ASP.NET-Dateien "."

Ich könnte den Benutzern Rechte für dieses bestimmte Verzeichnis gewähren, aber ich frage mich, ob es eine bessere Lösung gibt. Idealerweise möchte ich dieses Verzeichnis "Temporäre ASP.NET-Dateien" so konfigurieren, dass es an einem anderen Speicherort gespeichert wird.

PanJanek
quelle
Ich habe auch die Fehlermeldung erhalten, wenn ich versehentlich versucht habe, eine .Net 3.5-Webdienst-App in einem (Standard-) .Net 2.0-App-Pool auszuführen. Der Wechsel zu einem .Net 4.0-App-Pool hat das gelöst.
Tor Iver Wilhelmsen

Antworten:

23

Sie können den Standardspeicherort auf Website- / Anwendungsbasis ändern, indem Sie den Konfigurationsabschnitt der Web.configDatei bearbeiten .

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

Die Anwendung wird neu kompiliert und die Dateien werden an diesem neuen Speicherort gespeichert. Anschließend können Sie die alten Ordner sicher entfernen. Beachten Sie, dass die Ordnernamen gleich bleiben. zB wenn der alte Ort war:

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

dann wird der neue sein:

D:\MyTempFiles\root\9878g103\e67805p7
ShaneH
quelle
7
Vielen Dank ShaneH für deine Antwort. Die von Ihnen erwähnte Änderung muss nicht auf Website- / Anwendungsbasis erfolgen. Sie können diese Änderung auf Basis der Framework-Version anwenden, indem Sie die Datei web.config des Frameworks ändern. Beispiel: C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ web.config. Auf diese Weise wirken Sie sich auf alle Websites aus, die auf diese Version des Frameworks abzielen.
Silviu
4
Zu beachten ist, dass dies in den Abschnitt system.web der Datei web.config
CoderTao vom
@Silviu Nur eine Warnung: Wenn Sie viele Webs auf dem Server haben, kann es
einige
Ich habe diesen Abschnitt zu machine.config hinzugefügt. Es klappt.
Evgeni Nabokov