ASP.NET: HTTP-Fehler 500.19 - Interner Serverfehler 0x8007000d

115

Ich repliziere die Bereitstellung von Webanwendungen und habe verschiedene Probleme im Zusammenhang mit gefunden HTTP Error 500.19. Auf meinem Computer wird Windows 7 ausgeführt, während die funktionierende Entwicklung Windows 8 verwendet . Wir entwickeln unsere Webanwendung mit Visual Studio 2010 .

Zuerst habe ich einen Fehlercode erhalten 0x80070021, ähnlich wie hier . Ich aktualisiere meine web.config gemäß der akzeptierten Antwort und erhalte dann den folgenden Fehlercode (der dem hier angegebenen ähnlich ist ).

HTTP Error 500.19 - Internal Server Error
Error Code 0x8007000d
Config Source -1: 0:

Ich habe die Symptomdefinition auf der Microsoft-Support-Seite gelesen und die Fehlerursache ist:

Dieses Problem tritt auf, weil die Datei ApplicationHost.config oder die Datei Web.config ein fehlerhaftes XML-Element enthält.

und die Lösung ist

Löschen Sie das fehlerhafte XML-Element aus der Datei ApplicationHost.config oder aus der Datei Web.config.

Die von mir verwendete web.config funktioniert jedoch perfekt in der ursprünglichen Entwicklungsumgebung.

Folgendes habe ich bisher überprüft und versucht:

  1. Installieren Sie ASP.NET, indem Sie aspnet_regiis -i aufrufen
  2. Stellen Sie meine Anwendung so ein, dass sie einen anderen Anwendungspool verwendet (ASP.NET v4.0, .NET v4 usw.).
  3. Die Datei ApplicationHost.config verwendet weiterhin die Standardeinstellung von Windows 7.

Dies ist Teil meiner Web.Config

<system.webServer>
    <section name="handlers" overrideModeDefault="Allow" /> 
    <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true">
    </modules>
    <handlers>
        <remove name="UrlRoutingHandler" />
        <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </handlers>
    <urlCompression doStaticCompression="true" doDynamicCompression="false"></urlCompression>
    <directoryBrowse enabled="true" />
    <defaultDocument>
        <files>
            <add value="Logon.aspx" />
        </files>
    </defaultDocument>
</system.webServer>

Ich habe ähnliche / doppelte / geschlossene Beiträge (ungefähr 13) im Stapelüberlauf gelesen, alle außer der Antwort in Bezug auf Ajax (ist es verwandt) ausprobiert und habe immer noch keine Ahnung, was der Fehler ist.

Weiß jemand, wie man diesen Fehler behebt? (Und wenn möglich, muss eine umfassende Liste von Dingen überprüft werden, damit wir ähnliche Beiträge wie diesen reduzieren können.) Ich bin bereit, weitere Details bereitzustellen.

David
quelle
Ich habe dieses Problem gerade behoben. Während der Fehler auf die Datei web.config verweist, kann es auch ein Problem mit appsettings.config geben. Wenn einer der beiden fehlerhaft ist, wird der gleiche Fehler angezeigt.
PGardockiDotNet

Antworten:

272

Fehler 0x8007000d bedeutet, dass das URL-Umschreibemodul (in web.config referenziert) fehlt oder die richtige Version nicht installiert ist.

Installieren Sie einfach das URL-Umschreibemodul über das Webplattform-Installationsprogramm.

Ich empfehle, alle Abhängigkeiten von web.config zu überprüfen und zu installieren.

Tomas Kubes
quelle
23
Ich wünschte, IIS würde eine aussagekräftigere Fehlermeldung geben, wenn es "Nicht erkanntes Modul: UrlRewritingNet" gesagt hätte. Ich hätte heute Morgen zwei Stunden gespart. +1 für das Beenden meiner Schmerzen :)
AlexFoxGill
17
Vielen Dank. "Url Rewrite 2.0" über das Web Platform Installer hinzugefügt und dann behoben.
Cihan Yakar
Hatte das gleiche Problem, verbrachte Ewigkeiten damit, "beschädigte" XML-Dateien zu untersuchen, bis ich auf diesen Kommentar stieß, in dem das Modul zum Umschreiben von URLs erwähnt wurde. Das war genug, um meine Erinnerung daran auszulösen, dass ich vor ein paar Monaten genau dasselbe gelöst habe! (Ich schreibe es diesmal auf) Danke!
Anton
4
Gut, sogar Web Platform sagte, dass es "installiert" wurde, aber es wurde nicht im IIS angezeigt. Ich gehe hier iis.net/downloads/microsoft/url-rewrite , lade die richtige Version herunter, entferne die aktuelle und wieder IIS installieren, schließen und neu starten, jetzt kann ich "URL Rewrite" sehen.
Box sehr
Vielen Dank. Diese Antwort hat mir den Tag gerettet. Ich habe 'URL rewriting' über das Webplattform-Installationsprogramm auf IIS 10, Windows 2016 Server, installiert und der Fehler ist verschwunden.
Anil Gupta
34

Beim Versuch, eine .NET Core 1.0-Website einzurichten, trat dieser Fehler auf und ich versuchte alles andere, was ich ohne Glück finden konnte, einschließlich der Überprüfung der Datei web.config, der IIS_IUSRS-Berechtigungen, des IIS-URL-Umschreibemoduls usw. Am Ende habe ich installierte DotNetCore.1.0.0-WindowsHosting.exe von dieser Seite: https://www.microsoft.com/net/download und es begann sofort zu funktionieren.

Spezifischer Link zum Herunterladen: https://go.microsoft.com/fwlink/?LinkId=817246

Adrian Carr
quelle
4
Danke, Mann! Das brauche ich für meine Kernanwendungen. Diejenigen, die wissen möchten
muhihsan
1
Dies gilt für alle Versionen von Core, nicht nur für 1.0. (Core muss auf dem Server installiert sein.)
Patrick
1
Das funktioniert bei mir, nachdem ich alles andere ausprobiert habe. Vielen Dank.
Andrew
Um die neueste Version zu erhalten, können Sie hier docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/…
Leonard AB
1
Vielen Dank dafür, ich konnte es zum Laufen bringen, indem ich eine Reparatur meiner DotNetCore-Installation durchführte.
Shane
21

In meinem Fall musste ich iis mit dot net 4 mit diesem Befehl registrieren, da ich iis neu installiert hatte:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
max
quelle
21

URL neu schreiben:

UPDATE - Dies ist jetzt hier verfügbar (und funktioniert mit IIS 7-10):

https://www.iis.net/downloads/microsoft/url-rewrite

Stellen Sie sicher, dass für Ihren IIS-Server Folgendes auf "Zulässig" eingestellt ist:

Geben Sie hier die Bildbeschreibung ein

Chris Halcrow
quelle
Danke für den Link! Ich habe dies über die Funktionen zum Hinzufügen / Entfernen installiert, aber das hat es nicht behoben. Nur das Herunterladen von diesem Link hat funktioniert.
Luke
5

Etwas spät zur Party hier, aber ich habe gerade mit genau dem gleichen Problem (Symptomen) zu kämpfen gehabt und den Mangel an Fehlerdetailberichten verflucht. Auf IIS 8+ Computern hat es gut funktioniert, aber Win 7 hat diese SOFORTIGEN HTTP 500.19-Fehler erhalten. Für mich war es so albern wie ein nicht unterstütztes Konfigurationselement in der Konfigurationsdatei:

 <applicationInitialization doAppInitAfterRestart="true">
  <add initializationPage="/" />
</applicationInitialization>

Während das Ausführen alter web.config-Dateien einwandfrei funktionierte, habe ich sie nur unterschieden und neue Blöcke entfernt, bis ich die Seite zum Laden bekam. Hätte ich dies als Antwort gesehen, wäre ich diesen Weg sofort gegangen, da ich wusste, dass keine der gängigen Lösungen relevant war. Hier bitteschön :)

Barbatron
quelle
Das war mein Problem. Vielen Dank!
Erik W
Ich hatte auch dieses Problem. Vielen Dank!
José Margaça Lopes
4

In meinem Fall (.Net Core Web API) für dieses Problem HTTP-Fehler 500.19 - Interner Serverfehler 0x8007000d

Laden Sie zuerst Dotnet-Hosting-3.0.0-Preview5-19227-01-Win (.Net Core 3) oder Dotnetcore 2 herunter

https://download.visualstudio.microsoft.com/download/pr/5bed16f2-fd1a-4027-bee3-3d6a1b5844cc/dd22ca2820fadb57fd5378e1763d27cd/dotnet-hosting-3.1.4-win.exe

Jede .net Core 3.1-Anwendung, entweder eine Winkel- oder eine MVC-Anwendung, würde dies benötigen.

Zweitens als Administrator installieren Öffnen Sie cmd als Administrator, geben Sie iisreset ein und drücken Sie die Eingabetaste

Aktualisieren Sie also Ihre localhost-App

Mit freundlichen Grüßen MMTofighi aus dem Iran

Persi Mann
quelle
1

Problem gelöst. Hier sind die Schritte, die ich versucht habe:

  • Aktivieren Sie die 32-Bit-Anwendung unter IIS -> Anwendungspool -> Erweiterte Einstellungen
  • Kopieren Sie System.EnterpriseServices.dll und System.EnterpriseServices.Wrapper.dll von C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 in den Ordner "application bin"
  • Machen Sie Kommentare / Kommentare zu Abschnitten in der web.config und stellen Sie fest, dass das Problem mit der referenzierten DLL zusammenhängt.

Die Konfiguration, die ich in der vorherigen kommentiert habe:

<section name="handlers" overrideModeDefault="Allow" /> 
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow"/>
  • Fügen Sie die erforderliche FasterFlect.DLL, die von Combres.DLL v2.1.0.0 verwendet wird, zum Ordner "application bin" hinzu (lädt die vollständige Zip-Datei aus dem Combres-Codeplex herunter, da die erforderliche DLL V2.0.3732.24338 für den Fastflect-Codeplex nicht gefunden werden kann) und andere DLLs. Verwenden Sie zur Sicherheit die vollständige Combres.DLL (1,3 MB).
  • Überprüfen Sie mit dem Tool, z. B. .NET Reflector, ob die DLL-Versionen und Token für öffentliche Schlüssel in web.config korrekt konfiguriert sind
David
quelle
1

Ich verstehe, dass dieser Fehler aus vielen verschiedenen Gründen auftreten kann. In meinem Fall lag es daran, dass ich den WSUS-Dienst von den Serverrollen deinstalliert habe und der gesamte IIS ausgefallen ist. Nach einigen Recherchen stellte ich fest, dass durch die Deinstallation von WSUS einige DLLs entfernt werden, die für die HTTP-Komprimierung verwendet werden. Da diese DLLs fehlten und der IIS immer noch nach ihnen suchte, führte ich einen Reset mit dem folgenden Befehl in CMD durch:

appcmd set config -section:system.webServer/httpCompression /-[name='xpress']

Bingo! Das Problem ist jetzt behoben. Vergessen Sie nicht, es als Administrator auszuführen. Möglicherweise müssen Sie auch "iisreset" ausführen. Nur für den Fall.

Hoffe es hilft anderen. Prost

Sabbir Hassan
quelle
1

Ich aktiviere .Net Framework 3.5 und 4.5 Advance Service in Control Panel-> Programs and Features-> Turn Windows features on or off.it funktioniert für mich.

Ahmadreza Farrokhnejad
quelle
1

Eine Reparatur des DotNetCore-Hosting-Bundles hat mir geholfen. : /

IAmCoder
quelle
0

Ich hatte dieses Problem mit einem brandneuen Webdienst. Es wurde behoben, indem für den Ordner, in dem sich der Dienst befand, ein schreibgeschützter Zugriff für Jeder unter Eigenschaften-> Sicherheit hinzugefügt wurde.

aherocalledFrog
quelle
-1

Für mich ging es darum, meinen Webserver so einzurichten, dass er die neueste und beste Technologie zur Unterstützung meiner ASP.NET 5-Anwendung verwendet!

Die folgende URL gab mir alle Tipps, die ich brauchte:

https://docs.asp.net/de/1.0.0-rc1/publishing/iis-with-msdeploy.html

Hoffe das hilft :)

Jeff Moretti
quelle
2
Können Sie einige der wichtigen Punkte beschreiben, die im Link enthalten sind? Auf diese Weise kann die Antwort nützlich bleiben, wenn der Link unterbrochen oder nicht mehr verfügbar ist.
mhatch