HTTP-Fehler 500.19 und Fehlercode:0x80070021
-
26-12-2019 - |
Frage
Ich habe einen einfachen WebAPI-Build von Visual Studio 2013.Es funktioniert gut, wenn ich es unter VS13 ausführe, aber wenn ich das Projekt im lokalen IIS kopiere, erhalte ich die folgende Fehlermeldung.
HTTP -Fehler 500.19 - Interner Serverfehler Auf die angeforderte Seite kann nicht zugegriffen werden, da die zugehörigen Konfigurationsdaten für die Seite ungültig sind.
Detaillierte Fehlerinformationen:
Modul IIS-Webkern
Benachrichtigung BeginRequest
Handler Noch nicht entschieden
Fehlercode 0x80070021
Konfigurationsfehler Dieser Konfigurationsabschnitt kann unter diesem Pfad nicht verwendet werden.Dies geschieht, wenn der Abschnitt auf übergeordneter Ebene gesperrt ist.Die Sperrung erfolgt entweder standardmäßig (overrideModeDefault="Deny") oder wird explizit durch ein Standort-Tag mit overrideMode="Deny" oder dem alten AllowOverride="false" festgelegt.
Konfigurationsdatei \?\C:\inetpub\wwwroot\APITeslin\web.config
Konfigurationsquelle:
36: <system.webServer>
37: <handlers>
38: <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
Lösung
erhielt genau den gleichen Fehler und kam zu dieser Frage. Wie @SpaceBison in Kommentaren erwähnt, beschreibt diese Antwort die Lösung - https://stackoverflow.com/a/12867753/404099 . Ich habe es zu spät entdeckt und es vermisst einige Schritte. Das hat für mich funktioniert:
- Gehe zum Server-Manager, klicke auf Rollen und Funktionen hinzufügen
- im Rollenabschnitt Wählen Sie: Webserver: Webserver
- Unter Sicherheitsunterteil Wählen Sie alles (i ausgeschlossene Digest, IP-Einschränkungen und URL-Autorisierung, während wir sie nicht verwenden)
- unter Anwendungsentwicklung Wählen Sie .NET Erweiterbarkeit 4.5, ASP.NET 4.5 und beide Isapi-Einträge
Andere Tipps
Ich habe diesen Fehler erhielt, während er versucht, einen WCF-Dienst in einer leeren ASP.NET-Anwendung zu hosten.Die gesamte Lösung verwendete .NET 4.5-Plattform auf IIS 8.5 unter Windows 8.1. Die Gotcha war zu
- .
- Öffnen Sie "Windows-Funktionen ein- oder ausschalten"
- Zum WCF-Abschnitt unter ASP.NET 4.5 Advanced Services
- Überprüfen Sie die HTTP-Aktivierung.
-
Sie werden aufgefordert, das System neu zu starten.
Dies sollte den HTTP 500.19 reparieren!
edit 11-feb-2016 hat gerade ein Problem unter Windows 10 Pro, IIS 10, diesmal, erhielt, diesmal war es ein http 404.0.Der Fix ist immer noch derselbe, aktiviert die "HTTP-Aktivierung" unter Windows-Funktionen -> .NET Framework 4.6 Advanced Services -> WCF Services -> HTTP-Aktivierung
Ich bekam auch das gleiche Problem, aber nachdem das Gehirn viele Stunden mit IIS und Google stürmte.Ich habe die Lösung herausgefunden.
Dieser Fehler besteht darin, dass einige Einstellungen in iIS applicationHost.config
deaktiviert sind.
Im Folgenden sind die Schritte zur Lösung:
- .
- Gehen Sie zum
C:\Windows\System32\inetsrv\config\applicationHost.config
und öffnen Sie in Notepad -
Ändern Sie den folgenden Schlüsselwert in
- .
-
<section name="handlers" overrideModeDefault="Deny" />
Ändern Sie diesen Wert von "DENY" in "Erlauben"
-
-
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />
Ändern Sie diesen Wert von "DENY" auf "Erlauben"
es funktionierte für mich.
Wenn Sie zum ersten Mal IIS auf diesem Computer ausführen, sollten Sie versuchen, das ASP.NET IIS-Registrierungswerkzeug (Aspnet_Regiis.exe) auszuführen.
Hier ist das: Wenn Sie das .NET Framework V4 verwenden, öffnen Sie die Eingabeaufforderung als Administrator als Administrator und ändern Sie das Verzeichnis in Ihren .NET Framework-Basisordner mit:
generasacodicetagpre.oder wenn Sie einen 64-Bit-Computer verwenden, verwenden Sie:
generasacodicetagpre.Wenn Sie erfolgreich in das entsprechende Verzeichnis navigiert haben, führen Sie das ASP.NET IIS-Registrierungswerkzeug mit:
aus. generasacodicetagpre.Wenn Sie eine andere .NET-Framework-Version verwenden, ersetzen Sie einfach den generellen Ordnernamen.
hoffe das hilft.
unter Windows 8.1, IIS 8.5 Die Lösung für mich bestand darin, 4,5 aus dem Bedienfeld zu registrieren:
-Programme und Funktionen> Windows-Funktionen ein- oder ausschalten> Informationsinformationsdienste> World Wide Web Services> Anwendungsentwicklungsfunktionen> Asp.net auswählen 4.5
Klicken Sie auf OK.
Wie der Fehler-IDnices - "Dies geschieht, wenn der Abschnitt auf einer übergeordneten Ebene gesperrt ist".Um den Abschnitt freizuschalten, können Sie verwendenappcmd.exe und führen Sie den folgenden Befehl aus:
generasacodicetagpre.Weitere Informationen zum Abschnitt zum Abschnitt Sektion finden Sie auf den Kontext von übergeordneter Konfiguration auf IIS-Dokumentation .
In meinem Fall gab es Regeln für IIS URL umschreiben Modul, aber ichhatte nicht dieses Modul installiert.Sie sollten Ihr Web.config überprüfen, wenn keine Module enthalten, die jedoch nicht installiert sind.
In unserem Fall kämpfen wir mit diesem Fehler für ganz einigen Tagen mit diesem Fehler.Es stellt sich heraus, dass in Systemsteuerung Programme die Windows-Funktionen ein- oder ausschalten.
Wir haben Internet Information Services, World Wide Web Services, Anwendungsentwicklungsfunktionen und dort ausgewählt, überprüfen wir die Set von Funktionen, die mit unserer Entwicklungsumgebung verbunden sind.Zum Beispiel: ASP.NET 4.6..NET-Erweiterbarkeit 4.6 usw.
es funktioniert!
Versuchen Sie, die entsprechenden IIS (7.5-) Konfigurationseinstellungen auf Serverebene wie folgt zu entsperren:
- .
- open
IIS-Manager - Wählen Sie den Server in der Anschlüssebereiche aus.
- Öffnen Sie
Konfigurations-Editor in der Hauptscheibe - Wählen Sie in den Abschnitten herunter, wählen Sie den Abschnitt zum Entsperren, z. system.webserver> defaultpath
- Klicken Sie in entsperren Attribut im rechten Bereich
- Wiederholen Sie sich für alle anderen Einstellungen, die Sie benötigen, um Neustart IIS (optional) - Wählen Sie den Server im Bereich Conncetions aus, klicken Sie in der Aktionen auf Neustart in der Aktionskarte .
Ihr web.config beschreibt, dass Sie mit
Wenn es Windows 10 ist, öffnen Sie den PowerShell als admin und führen Sie den folgenden Befehl aus:
generasacodicetagpre. bitte <staticContent />
-linie und löschte es aus dem web.config.
Nun, wir nutzen Amazon Web Services und suchen daher nach Skripten und Programmen, um dieses Problem zu lösen.Deshalb war ich auf der Suche nach einem Befehlszeilentool.Also habe ich zuerst den Trick des Laufens ausprobiert
c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
Aber da ich einen Cloud-basierten Windows Server 2012 verwende, hat es sich beschwert
This option is not supported on this version of the operating system. Administrators should instead install/uninstall ASP.NET 4.5 with IIS8 using the "Turn Windows Features On/Off" dialog, the Server Manager management tool, or the dism.exe command line tool. For more details please see http://go.microsoft.com/fwlink/?LinkID=216771.
und ich habe gegoogelt und den Beamten gefunden Microsoft-Supportseite KB2736284.Es gibt also ein Befehlszeilentool dism.exe
.Also habe ich Folgendes versucht
dism /online /enable-feature /featurename:IIS-ASPNET45
aber es beschwerte sich und gab eine Liste mit Funktionsnamen zum Ausprobieren aus, also probierte ich sie einzeln aus und testete nach jeder Funktion meine WebAPI-Webseite, und nach der untersten in der Liste funktionierte es.
dism /online /enable-feature /featurename:IIS-ApplicationDevelopment
dism /online /enable-feature /featurename:IIS-ISAPIFilter
dism /online /enable-feature /featurename:IIS-ISAPIExtensions
dism /online /enable-feature /featurename:IIS-NetFxExtensibility45
Und jetzt kann ich zu meiner WebAPI-Site navigieren und die API-Informationen sehen.Das dürfte einigen Leuten helfen.[Allerdings bin ich selbst noch nicht ganz über den Berg und kann die Website auch von außerhalb nicht erreichen.Ich arbeite immer noch daran.]
Außerdem habe ich einige frühere Schritte ausgeführt, indem ich den Antworten anderer Leute gefolgt bin.Ich kann bestätigen, dass die folgende Funktionsdelegierung geändert werden muss (obwohl ich dafür gerne ein Befehlszeilentool finden würde).
In Feature delegation
Change
'Handler Mappings' from Read Only to Read/Write
Change
'Modules' from Read Only to Read/Write
Change
'SSL Settings' from Read Only to Read/Write
für .NET-Core-Apps auf Windows Server (in meinem Fall 2012 mit IIS 10) Es funktionierte nach Install .NET Core Windows Server Hosting Bündel ( link ).
Prüfen Sie, ob der IIS-Server die URL-Umschreibfunktion installiert hat.Kummer Wenn es nicht installiert ist, stellen Sie sicher, dass Ihre web.config-Datei nicht über die entsprechende URL Rewrite-Konfiguration verfügt
generasacodicetagpre.Einige Zeit haben wir die Konfiguration von Legacy Server kopiert und sofort auf den brandneuen Server bereitgestellt, dann können wir eine solche Art von 500 Problem auftreten.
es funktioniert und spart meine Zeit.Versuchen Sie es HTTP-Fehler 500.19 - Interner Serverfehler - 0x80070021 (IIS 8.5)
Die Lösung, die für mich funktionierte, war, mein aktuelles web.config zu löschen und einen neuen hinzuzufügen.Das hat das Problem für mich gelöst