Ich habe IIS gerade auf Windows XP installiert.
Wenn ich versuche, eine App auszuführen, erhalte ich einen Fehler:
Der Zugriff auf den Pfad 'c: \ inetpub \ wwwroot \ myapp \ App_Data' wird verweigert. Beschreibung: Eine nicht behandelte Ausnahme ist während der Ausführung von aufgetreten die aktuelle Webanfrage. Bitte überprüfen Sie die Stack-Trace für mehr Informationen über den Fehler und wo er im Code entstanden ist.
Ausnahmedetails: System.UnauthorizedAccessException: Zugriff auf das Pfad 'c: \ inetpub \ wwwroot \ myapp \ App_Data' wird abgelehnt.
ASP.NET ist nicht berechtigt, auf die angeforderte Ressource zuzugreifen. Erwägen Gewähren von Zugriffsrechten für die Ressource für die ASP.NET-Anforderung Identität. ASP.NET verfügt über eine Basisprozessidentität (normalerweise {MASCHINE} \ ASPNET auf IIS 5 oder Netzwerkdienst auf IIS 6), die verwendet wird, wenn Die Anwendung gibt sich nicht als Identität aus. Wenn die Anwendung ist sich über Identität auszudrücken, wird die Identität sein der anonyme Benutzer (normalerweise IUSR_MACHINENAME) oder der authentifizierte Benutzer Benutzer anfragen.
Um ASP.NET Zugriff auf eine Datei zu gewähren, klicken Sie mit der rechten Maustaste auf die Datei im Explorer. Wählen Sie "Eigenschaften" und wählen Sie die Registerkarte Sicherheit. Klicken Sie auf "Hinzufügen", um hinzuzufügen der entsprechende Benutzer oder die Gruppe. Markieren Sie das ASP.NET-Konto und Aktivieren Sie die Kontrollkästchen für den gewünschten Zugriff.
Quellfehler:
Zeile 70: Geschützter Sub cmbSettingFiles_SelectedIndexChanged (ByVal Absender als Objekt, ByVal e als System.EventArgs) Handles cmbSettingFiles.SelectedIndexChanged
Zeile 71: Dim Doc Als XmlDocument = New XmlDocument ()
Zeile 72: doc.Load (Pfad.Combine (BasisPfad, CmBSettingFiles.SelectedValue)) Zeile 74: Dim settingsNode als XmlNode = doc.SelectSingleNode ("/ settings")Quelldatei: C: \ myapp \ install \ install.aspx.vb Zeile: 72
Ich habe versucht, die Erlaubnis zu entziehen, indem ich Folgendes mache:
Um ASP.NET Zugriff auf eine Datei zu gewähren, klicken Sie mit der rechten Maustaste auf die Datei im Explorer. Wählen Sie "Eigenschaften" und wählen Sie die Registerkarte Sicherheit. Klicken Sie auf "Hinzufügen", um hinzuzufügen der entsprechende Benutzer oder die Gruppe. Markieren Sie das ASP.NET-Konto und Aktivieren Sie die Kontrollkästchen für den gewünschten Zugriff.
Aber der Fehler bleibt bestehen.
Hat das etwas mit meinem Code zu tun?
Wie kann ich das beheben?
BEARBEITEN
Ich habe das Problem auf meinem Dev-Rechner gelöst, aber ich bekomme immer noch den Fehler auf meinem Webserver.
Danke.
Versuchen Sie, zur Ordnereigenschaft App_Data zu wechseln und den ASPNET-Benutzer mit read hinzuzufügen und schreiben Sie Privilegien
Ref:
So weisen Sie dem Ordner App_Data von WebMail Pro ASP.NET die richtigen Berechtigungen zu
Berechtigungen für APP_DATA Ordner
ASP / ASP.NET Best Möglichkeit, Schreibrechte zu behandeln?
Wenn es Ihr Problem nicht löst, prüfen Sie, ob Ihre XML-Dateien nicht von einem anderen Thread geöffnet wurden, der diese Konfigurationsdateien verwendet .. und geben Sie weitere Details an, wenn sie weiterhin bestehen.
Für Benutzer von IIS unter Windows Server:
Standardmäßig hat der IIS-Benutzer keine Schreibberechtigung für den Ordner wwwroot
. Dies kann gelöst werden, indem dem IIS_IUSRS
-Benutzer für wwwroot
volle Berechtigungen erteilt werden.
C:/inetpub/
IIS_IUSRS ([server name]\IIS_IUSRS)
. Sind Sie sicher, dass Sie den richtigen Benutzer hinzufügen? Haben Sie überprüft, welcher Benutzer für Ihren Anwendungs-App-Pool festgelegt ist?
Dieser Fehler tritt auch auf, wenn die Datei aus irgendeinem Grund nicht gelesen werden kann. So wie die Datei gesperrt oder von einer anderen Anwendung verwendet wird. Da es sich um eine ASP.NET-Webanwendung handelt, sollten Sie sicherstellen, dass Sie keine Aktionen ausführen, bei denen die Datei gesperrt werden muss. es sei denn, Sie können garantieren, dass immer nur ein Benutzer auf Ihrer Seite ist.
Können Sie ein Beispiel dafür veröffentlichen, wie Sie auf die Datei zugreifen? Welche Art von Datei ist das? Codefragmente helfen Ihnen, eine genauere Antwort zu erhalten.
Ich hatte eine ähnliche Situation. Ich verwende TFS für die Quellcodeverwaltung. Was ich fand, war, dass wenn es eingecheckt wurde, es die Dateien nur gelesen hat. Dies verursachte den obigen Fehler in meinem Dienst, wo er sie lesen / schreiben öffnete. Einmal habe ich sie zum Bearbeiten überprüft. Alles hat super geklappt. Ich denke darüber nach, sie nur im Service zu öffnen. Ich denke, sobald sie auf dem Produktionsserver veröffentlicht werden, ist das kein Problem. Nur in der Entwicklungsumgebung. Ich habe ähnliche Probleme mit Services gesehen, die Entity Framework verwenden. Wenn die .svc-Datei eingecheckt ist, können Sie keine Aktualisierungen der Datenbank über EF durchführen.
Bitte führen Sie Visual Studio mit Administratorrechten aus. Dieses Problem ist für mich gelöst.
Der Zugriff auf den Pfad wird verweigert C: \ inetpub \ wwwroot verweigert wird, gibt an, dass die Self-Service-Website nicht auf einen bestimmten Ordner auf dem Server zugreifen kann, auf dem sie installiert ist. Dies kann entweder der Fall sein, weil der Speicherort nicht existiert, oder weil dem authentifizierenden Benutzer keine Berechtigungen für das Schreiben an diesen Speicherort erteilt wurden.
Tags und Links asp.net iis access-denied