web-dev-qa-db-ger.com

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

Ich repliziere die Webanwendungsbereitstellung und habe einige Probleme mit HTTP Error 500.19 gefunden. Mein Computer führt Windows 7 aus, während die Entwicklungsumgebung Windows 8 verwendet. Wir entwickeln unsere Webanwendung mit Visual Studio 2010.

Zuerst bekam ich den Fehlercode 0x80070021, ähnlich wie im Beitrag hier . Ich aktualisiere meine web.config entsprechend der akzeptierten Antwort, und dann erhielt ich den folgenden Fehlercode (der ähnlich ist wie hier ).

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

Ich habe die Symptomendefinition in Microsoft-Supportseite gelesen und die Ursache des Fehlers ist: 

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

und die Lösung ist

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

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

Folgendes habe ich bisher geprüft und ausprobiert:

  1. Installieren Sie ASP.NET durch Aufrufen von aspnet_regiis -i 
  2. Festlegen, dass meine Anwendung einen anderen Anwendungspool verwendet (ASP.NET v4.0, .NET v4 usw.)
  3. Die Datei ApplicationHost.config verwendet immer noch den Standard 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/Duplikate/geschlossene Beiträge (um 13) in stackoverflow gelesen, alle außer der Antwort auf Ajax ausprobiert (ist damit verwandt) und habe immer noch keine Ahnung, was der Fehler ist.

Hat jemand eine Möglichkeit, diesen Fehler zu beheben? (Und wenn möglich, muss eine umfassende Liste von Dingen geprüft werden, damit wir ähnliche Posts wie hier reduzieren können.) Ich bin bereit, weitere Details zu liefern.

71
David

Fehler 0x8007000d bedeutet URL-Überschreibungsmodul (in web.config angegeben) fehlt oder die richtige Version ist nicht installiert.

Installieren Sie einfach das URL-Neuschreibungsmodul über das Installationsprogramm der Webplattform.

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

188
Tomas Kubes

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

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

Beim Versuch, eine .NET Core 1.0-Website einzurichten, erhielt ich diesen Fehler und versuchte alles andere, was ich ohne Erfolg finden konnte, einschließlich der Prüfung der Datei web.config, der IIS_IUSRS-Berechtigungen, IIS URL Modul neu schreiben usw. Am Ende habe ich DotNetCore.1.0.0-WindowsHosting.exe von dieser Seite installiert: https://www.Microsoft.com/net/download und es wurde gestartet sofort arbeiten.

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

20
Adrian Carr

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 der Wert 'Zulässig' eingestellt ist:

enter image description here

17
Chris Halcrow

Etwas spät zur Party hier, aber ich habe gerade mit dem gleichen Problem (Symptomen) zu kämpfen und das Fehlen einer Fehlerberichterstattung zu verfluchen. Es funktionierte gut auf IIS 8+ -Maschinen, aber Win 7 erhielt diese INSTANT HTTP 500.19-Fehler . Für mich war es genauso dumm wie ein nicht unterstütztes Konfigurationselement in der Konfigurationsdatei:

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

Während die alten web.config-Dateien ausgeführt wurden, funktionierten sie einwandfrei. Ich habe sie einfach abgehackt und angefangen, neue Blöcke zu entfernen, 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 ist. Hier bitteschön :)

5
barbatron

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

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

Die config, die ich kommentiert habe, ist die vorherige, die ich hinzugefügt 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 Anwendungsordner Bin hinzu (muss die vollständige ZIP-Datei von Combres codeplex herunterladen, da der erforderliche schnellerflekt DLL V2.0.3732.24338 nicht in schnellerer Fleck gefunden wird codeplex) und anderen DLLs. Verwenden Sie zur Erleichterung die vollständige Combres.DLL (1,3 MB).
  • Stellen Sie sicher, dass die DLL -Versionen und die öffentlichen Schlüsseltoken in web.config mithilfe des Tools ordnungsgemäß konfiguriert sind, z. .NET Reflector
1
David

Ich schalte .NET Framework 3.5 und 4.5 Advance Service in der Systemsteuerung -> Programme und Funktionen -> Windows-Funktionen ein- oder ausschalten.

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

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

Bingo! Das Problem ist jetzt sortiert. 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

1
Sabbir Hassan

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 unter Windows herunter. Installieren Sie es als Administrator. Öffnen Sie cmd als Administrator, geben Sie iisreset ein und drücken Sie die Eingabetaste

Aktualisieren Sie also Ihre localhost-App

Beste Grüße M.M.Tofighi aus dem Iran

1
persi man

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

0
aherocalledFrog