Warum versucht meine ASP-Webanwendung, in C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ temporäre ASP.NET-Dateien zu schreiben?

8

Ich habe Probleme bei der Bereitstellung einer ASP-Webanwendung für HostMySite. Die Anwendung wurde zuvor ohne Probleme auf ihren Servern auf verschiedenen Plattformen bereitgestellt. Für die aktuelle Domäne und den Server bekomme ich jedoch weiterhin den Serverfehler unter.

Serverfehler in der '/ PropertyManagement' Anwendung. Die aktuelle Identität (ADSAFESECUREWEB \ C116018-fhmonlinea) hat keinen Schreibzugriff auf "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporäre ASP.NET-Dateien". Beschreibung: Bei der Ausführung der aktuellen Webanforderung ist eine nicht behandelte Ausnahme aufgetreten. Bitte überprüfen Sie die Stack-Trace für weitere Informationen über den Fehler und wo es aus dem Code stammt.

Ausnahmedetails: System.Web.HttpException: Die aktuelle Identität (ADSAFESECUREWEB \ C116018-fhmonlinea) hat keinen Schreibzugriff auf "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporäre ASP.NET-Dateien" .

Quellfehler:

Während der Ausführung der aktuellen Webanforderung wurde eine nicht behandelte Ausnahme generiert. Informationen über den Ursprung und den Ort der Ausnahme können anhand der folgenden Ausnahme-Stack-Trace identifiziert werden. Ich weiß, dass der Code nicht explizit versucht, in das temporäre Verzeichnis von .NET zu schreiben, aber ich habe mich gefragt, ob die Anwendung dieses Verzeichnis während der Laufzeit irgendwie benutzt. Der Host sagt mir immer wieder, dass ich meine Anwendung so konfigurieren muss, dass sie das temporäre Verzeichnis nicht verwendet, da sie keinen Lese- / Schreibzugriff darauf bietet. Kann mir bitte jemand sagen, warum meine Anwendung versucht, dieses Verzeichnis zu verwenden und was ich tun kann, um es so zu konfigurieren, dass es ein anderes Verzeichnis verwendet, auf das ich Zugriff habe. Ich bin neu in ASP Entwicklung und brauche Hilfe. Danke!

Stapelverfolgung:

[HttpException (0x80004005): Die aktuelle Identität (ADSAFESECUREWEB \ C116018-fhmonlinea) hat keinen Schreibzugriff auf "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporäre ASP.NET-Dateien".]    System.Web.HttpRuntime.SetUpCodegenDirectory (CompilationSection compilationSection) +11650831    System.Web.HttpRuntime.HostingInit (HostingEnvironmentFlags hostingFlags, PolicyLevel policyLevel, Ausnahme appDomainCreationException) +323

[HttpException (0x80004005): Die aktuelle Identität (ADSAFESECUREWEB \ C116018-fhmonlinea) hat keinen Schreibzugriff auf "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporäre ASP.NET-Dateien".]    System.Web.HttpRuntime.FirstRequestInit (HttpContext-Kontext) +11612256    System.Web.HttpRuntime.EnsureFirstRequestInit (HttpContext-Kontext) +141    System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest wr, HttpContext-Kontext) +4842149

Versionsinformationen: Microsoft .NET Framework Version: 4.0.30319; ASP.NET Version: 4.0.30319.1

    
Grasshopper 03.04.2012, 13:22
quelle

5 Antworten

23

Die CLR kopiert alle Ihre Assemblies in dieses Verzeichnis und kompiliert Ihre .aspx / .asmx / etc-Dateien und fügt die kompilierte Version in temporäre ASP.NET-Dateien ein.

Dies muss beschreibbar sein, damit Ihre Site zur Laufzeit kompiliert werden kann.

Bearbeiten: Hier ist ein MSDN-Artikel , der es erklärt.

Wie in den Kommentaren erläutert, können Sie, wenn der Provider Sie nicht in das Verzeichnis schreiben lässt, diese überschreiben, indem Sie Folgendes in Ihren Abschnitt web.config , 'system.web' einfügen:

%Vor%     
Chris Benard 03.04.2012, 13:25
quelle
8

Fügen Sie die Identität Ihres Anwendungspools der IIS_IUSRS-Gruppe des Servers hinzu.

    
hawkeyecoder 06.08.2013 14:54
quelle
1

Ich musste die Application Pool Identität auf NETWORKSERVICE setzen Fügen Sie dann den Benutzer hinzu, der sich mit meiner Website verbindet (der Benutzer, den Sie in den IIS-Einstellungen unter Basic Settings für Ihre Website verbinden) mit der IIS_IUSRS-Gruppe

    
Flo 11.11.2014 15:53
quelle
1

Ich hatte diesen Fehler, als ich die Anmeldeinformationen für den physischen Pfad (in den erweiterten Einstellungen) auf das Konto meines Anwendungspools gesetzt habe.

In meinem Fall bestand die Fehlerbehebung darin, die Anmeldedaten für physische Pfade auf "Anwendungsbenutzer" zurückzusetzen und meinen ursprünglichen Fehler mithilfe von dieser Antwort , dh um die anonyme Authentifizierung auf die Application Pool-Identität zurückzusetzen, die für diese spezifische Site IUSR war, ein Benutzer, der keinen Zugriff auf den Anwendungspfad hatte (da wir einen bestimmten Benutzer für die App-Pool-Identität verwenden) / p>     

Roman Starkov 23.03.2016 02:24
quelle
0

Auch kann asp.net neu installieren, finden Sie die Schritte von unten:

%Vor%     
bing duan 16.05.2015 10:53
quelle

Tags und Links