Ich erhalte die folgende Fehlermeldung, wenn ich versuche, meine Website auszuführen.
Die Website wird unter Windows 2012 R2 gehostet.
Konfigurationsfehler: Dieser Konfigurationsabschnitt kann unter diesem Pfad nicht verwendet werden. Dies geschieht, wenn der Abschnitt auf übergeordneter Ebene gesperrt ist. Das Sperren erfolgt entweder standardmäßig (overrideModeDefault = "Deny") oder wird explizit durch ein Standort-Tag mit overrideMode = "Deny" oder dem Legacy allowOverride = "false" festgelegt.
Fehlercode: 0x80070021
Konfigurationsquelle:
60: <httpErrors errorMode="Detailed" />
61: <handlers>
62: <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
Unten ist alles, was ich versucht habe:
- Installierte .Net 3.5 mit "Funktionen und Rollen hinzufügen" in IIS
In der applicationHost-Datei habe ich die folgenden Codeänderungen vorgenommen:
Geänderte Abschnittshandler, Module, anonyme Authentifizierung, grundlegende Authentifizierung usw. überschreibenModeDefault von "Verweigern" in "Zulassen".
Haben "HTTP-Aktivierung" in .Net 3.5 sowie 4.5 durchgeführt.
Unten ist mein Web-Konfigurationsdatei-Handler-Code:
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
<remove name="OPTIONSVerbHandler"/>
<remove name="TRACEVerbHandler"/>
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
</handlers>
Alle Funktionen in Funktionsfenstern in diesem Pfad wurden installiert: Internetinformationsdienst -> World Wide Web Services -> Anwendungsentwicklungsfunktionen -> Alle außer CGI wurden aktiviert.
In der Feature-Delegierung war ASP früher schreibgeschützt. Ich habe es in Lesen / Schreiben geändert
Entsperrte Handler über die Eingabeaufforderung
Aber ich kann den Fehler immer noch nicht beseitigen. Meine lokale Instanz funktioniert einwandfrei. Außerdem habe ich einen Entwicklungsserver, auf dem diese Website funktioniert. Nur auf meinem Produktionsserver wird dieser Fehler angezeigt.
Bitte helfen Sie mir herauszufinden, was dieses Problem verursachen könnte.
quelle
Antworten:
Führen Sie die folgenden Schritte aus, um die Handler auf übergeordneter Ebene zu entsperren:
1) Wechseln Sie im Verbindungsbaum (in IIS) zu Ihrem Serverknoten und dann zu Ihrer Website.
2) Für die Website sehen Sie im rechten Fenster den Konfigurationseditor unter Verwaltung.
3) Doppelklicken Sie auf den Konfigurationseditor.
4) Im folgenden Fenster finden Sie oben ein Dropdown-Menü für Abschnitte. Wählen Sie "system.webServer / handlers" aus der Dropdown-Liste.
5) Auf der rechten Seite befindet sich ein weiteres Dropdown. Wählen Sie "ApplicationHost.Config"
6) Im rechten Bereich finden Sie "Abschnitt entsperren" unter der Überschrift "Abschnitt". Klicken Sie darauf.
7) Sobald die Handler am applicationHost entsperrt sind, sollte Ihre Website einwandfrei funktionieren.
quelle
Hier ist, was für mich funktioniert hat, hatte ein ähnliches Problem auf meinem neuen Laptop, der Windows 10 hatte.
versuchen Sie es erneut, jetzt sollte es funktionieren.
quelle
Die meisten IIS-Abschnitte sind standardmäßig gesperrt. Sie können sie jedoch "entsperren", indem Sie das Attribut
overrideModeDefault
für die entsprechende Abschnittsgruppe von "Verweigern" auf "Zulassen" setzen, indem Sie die Datei " ApplicationHost.config"%windir%\system32\inetsrv\config
im Administratormodus ändernquelle
Ich bin auf diesen Thread gestoßen und habe das Problem durch die folgenden Schritte gelöst. Mein Problem kann anders sein. Hoffe das kann jemandem helfen.
In Schalten Fenster ein und aus Navigieren Sie zu Serverrollen und wählen Sie die am wenigsten unten genannten Elemente.
Prost !
quelle
Ich hatte eine applicationhost.config in meinem Projektordner. Es scheint, dass IISExpress diesen Ordner verwendet, obwohl in meinem Ordner c: \ users eine andere Datei angezeigt wird
.vs \ config \ applicationhost.config
quelle
Als ich diese Schritte versuchte, bekam ich immer wieder Fehler:
Dann habe ich mir die Ereignisanzeige angesehen und diesen Fehler gesehen
:Unable to install counter strings because the SYSTEM\CurrentControlSet\Services\ASP.NET_64\Performance key could not be opened or accessed. The first DWORD in the Data section contains the Win32 error code.
Um das Problem zu beheben, habe ich den folgenden Eintrag in der Registrierung manuell erstellt:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ASP.NET_64\Performance
und folgte diesen Schritten:
quelle
Ich denke, der bessere Weg ist, dass Sie Ihre Konfiguration aus Ihrer web.config entfernen müssen. Veröffentlichen Sie Ihren Code auf dem Server und tun Sie, was Sie direkt von der IIS-Serverschnittstelle entfernen möchten.
Dank dieser Methode müssen Sie nur die web.config abrufen und die Unterschiede vergleichen, wenn Sie erfolgreich tun, was Sie wollen. Danach müssen Sie nur noch die Lösung in diesem Beitrag veröffentlichen :-P.
quelle
Klicken Sie auf Ihre Projekteigenschaften, gehen Sie zum Webabschnitt, wechseln Sie im Abschnitt Server von IIS Express zu Local IIS, um ein virtuelles Verzeichnis für Sie zu erstellen
quelle
Folgendes hat bei mir funktioniert:
quelle