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" />
War es hilfreich?

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:

Windows Server 2012, IIS 8.5 . Sollte auch für andere Versionen arbeiten.

  • 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
  • im Abschnitt Funktionen Wählen Sie: Net 3.5, .NET 4.5, ASP.NET 4.5
  • im Abschnitt "Webserver" Wählen Sie: Webserver (alle), Verwaltungstools (IIS Management Console and Management Service), Windows-Authentifizierung - Wenn Sie eines davon verwenden

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

    .
  1. Öffnen Sie "Windows-Funktionen ein- oder ausschalten"
  2. Zum WCF-Abschnitt unter ASP.NET 4.5 Advanced Services
  3. Überprüfen Sie die HTTP-Aktivierung.
  4. Sie werden aufgefordert, das System neu zu starten.

    Screenshot

  5. 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:

    .
  1. Gehen Sie zum C:\Windows\System32\inetsrv\config\applicationHost.config und öffnen Sie in Notepad
  2. Ä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"

  3. 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.

Ich habe dies gelöst, indem ich Folgendes tat:

generasacodicetagpre.

ENTERBildbeschreibung hier

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:

    .
  1. open IIS-Manager
  2. Wählen Sie den Server in der Anschlüssebereiche
  3. aus.
  4. Öffnen Sie Konfigurations-Editor in der Hauptscheibe
  5. Wählen Sie in den Abschnitten herunter, wählen Sie den Abschnitt zum Entsperren, z. system.webserver> defaultpath
  6. Klicken Sie in entsperren Attribut im rechten Bereich
  7. 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
  8. .

Ihr web.config beschreibt, dass Sie mit forms authentifizierung verwendendas läuft in IIS.

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top