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
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:
Fügen Sie die Identität Ihres Anwendungspools der IIS_IUSRS-Gruppe des Servers hinzu.
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