it-swarm.com.de

Webanwendungsprobleme (web.config-Fehler) HTTP 500.19 mit IIS7.5 und ASP.NET v2

Das macht das ganze Team verrückt. Es muss einen einfachen falsch konfigurierten Teil von IIS oder unserem Webserver geben, aber jedes Mal, wenn wir versuchen, die ASP.NET-Webanwendung auf IIS 7.5 wir bekommen folgende Fehlermeldung ...

Hier ist der Fehler vollständig:

HTTP Error 500.19 - Internal Server Error

The requested page cannot be accessed because the related configuration  
data for the page is invalid.

`Detailed Error Information` 
Module              IIS Web Core
Notification        Unknown
Handler             Not yet determined
Error Code          0x8007000d
Config Error
Config File         \\?\E:\wwwroot\web.config
Requested URL       http://localhost:80/Default.aspx
Physical Path 
Logon Method        Not yet determined
Logon User          Not yet determined
Config Source
   -1: 
    0: 

Der Computer läuft Windows Server 2008 R2. Wir entwickeln unsere Webanwendung mit Visual Studio 2008.

Laut Microsoft bedeutet der Code 8007000d, dass es in unserer web.config einen Syntaxfehler gibt - außer, dass das Projekt lokal erstellt und ausgeführt wird. Wenn Sie sich die Datei web.config in XML Notepad ansehen, werden auch keine Syntaxfehler angezeigt. Ich gehe davon aus, dass es eine schlechte Konfiguration meinerseits sein muss ...?

Weiß jemand, wo ich weitere Informationen zu dem Fehler finden könnte? In EventViewer wird entweder nichts angezeigt :(

Nicht sicher, was noch hilfreich wäre, um zu erwähnen ...

Hilfe wird sehr geschätzt. Vielen Dank!

PDATES! - WEB.CONFIG UNTEN VERÖFFENTLICHT

Ok, da ich die ursprüngliche Frage oben gepostet habe, habe ich die genauen Zeilen in web.config aufgespürt, die den Fehler verursacht haben.

Hier sind die Zeilen (sie erscheinen zwischen <System.webServer> - Tags) ...

    <httpHandlers>
        <remove verb="*" path="*.asmx"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </httpHandlers>

Hinweis: Wenn ich die Zeilen zwischen dem <httpHandlers> Lösche, erhalte ich NOCH den Fehler. Ich muss buchstäblich <httpHandlers> (Und die Zeilen dazwischen) löschen, um den obigen Fehler nicht mehr zu erhalten.

Sobald ich dies getan habe, erhalte ich jedoch einen neuen 500,19-Fehler. Zum Glück sagt mir diesmal IIS eigentlich, welches Bit der web.config ein Problem verursacht ...

    <handlers>
        <remove name="WebServiceHandlerFactory-Integrated"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </handlers>

Wenn Sie sich diese Zeilen ansehen, ist klar, dass das Problem innerhalb desselben <system.webServer> - Tags in das <handlers> - Tag weiter migriert ist.

Der neue Fehler ist auch expliziter und beklagt sich ausdrücklich, dass das Attribut "validate" (wie in der dritten Zeile oben gezeigt) nicht erkannt wird. Wenn Sie dieses Attribut entfernen, wird beanstandet, dass dieselbe Zeile nicht das erforderliche Attribut "name" enthält. Das Hinzufügen dieses Attributs führt dann zu ASP.NET Fehler ...

Datei oder Assembly 'System.web.Extensions, Version = 1.0.61025.0, Culture = neutral, PublicKeyToken = f2cb5667dc123a56' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Das System kann die angegebene Datei nicht finden.

Ich denke, diese neuen Fehler sind offensichtlich darauf zurückzuführen, dass ich die <httpHandlers> -Tags gelöscht habe - sie werden offensichtlich von der Anwendung benötigt - und die Frage bleibt: Warum? Diese Tags verursachen einen Fehler in IIS an erster Stelle ???

Muss ich etwas installieren, um IIS damit es funktioniert?

Nochmals vielen Dank für jede Hilfe.

WEB.CONFIG

Hier sind die lästigen Teile unseres web.Config ... Ich hoffe, dies hilft jemandem, unser Problem zu finden!

<system.Web>

<!-- stuff cut out -->

    <httpHandlers>
        <remove verb="*" path="*.asmx"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56" validate="false"/>
    </httpHandlers>
    <httpModules>
        <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </httpModules>
</system.web>

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules>
        <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </modules>
    <remove verb="*" path="*.asmx"/>
    <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    <handlers>
        <remove name="WebServiceHandlerFactory-Integrated"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </handlers>
</system.webServer>
138
Chuck Le Butt

Aha! Ich habe dieses Problem gemeistert! Mein Gott, es war ein Biest für jemanden wie mich mit begrenzter IIS Erfahrung. Ich dachte wirklich, ich würde das ganze Wochenende damit verbringen, es zu reparieren.

Hier ist die Lösung für alle, die jemals dieses böse Problem bekommen.

Beachten Sie als Erstes: Wenn Sie hoffen, dass dies Ihre Lösung ist, stellen Sie sicher, dass Sie denselben Fehlercode ( 0x8007000d ) und dieselbe Konfigurationsquelle haben ( - 1: 0: ). Wenn nicht, ist dies ist nicht Ihre Lösung.

Was Sie als Nächstes beachten sollten: AJAX ist in Ihrer web.config nicht richtig installiert!

Beheben Sie das, indem Sie dieser Anleitung folgen:
http://www.asp.net/AJAX/documentation/live/ConfiguringASPNETAJAX.aspx

Installieren Sie dann die AJAX 1.0-Erweiterungen auf Ihrem Produktionsserver über diesen Link:

http://www.asp.net/ajax/downloads/archive/
Update : Microsoft scheint die obige Seite entfernt zu haben: (

Das ist es!

40
Chuck Le Butt

Ich hatte genau diese Symptome und mein Problem war ähnlich wie bei Peter. Richtete ein vorhandenes Projekt auf einem neuen Server ein. In meinem Projekt wurde auf das IIS7-Modul zum Umschreiben von URLs verwiesen, das jedoch noch nicht auf dem neuen Server installiert war. Die Installation hat mein Problem behoben.

Sie können Microsoft Web Platform Installer verwenden, um es zu installieren. Führe es aus, wähle Products, wähle im linken Menü Server und finde URL Rewrite in der Liste und installiere es.

Oder Sie können es herunterladen hier .

252
JJMpls

Nachdem ich einen Tag auf einer neuen Maschine damit gekämpft hatte, stieß ich auf die folgenden Links. Mir fehlten die Rewrite-Module. Das hat alles repariert.

http://forums.iis.net/t/1176834.aspx

http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/

40
kerrydewhirst

Gleiches Problem auf Server 2016, IIS 10, 500.19 Fehler. Ich habe das Umleitungsmodul installiert und es hat funktioniert. Ich weiß nicht, warum dies nicht standardmäßig enthalten war.

https://www.iis.net/downloads/Microsoft/url-rewrite#additionalDownloads

Um klar zu sein, sieht es so aus, als würde die web.config von IIS 7 funktionieren oder sollte funktionieren, aber das Fehlen dieses Moduls führt zu dem wirklich seltsamen und nicht hilfreichen Fehler Microsoft-Seite, die darauf besteht, dass Ihre Website oder Ihre web.config beschädigt ist. Beides scheint nicht der Fall zu sein.

Diese nicht hilfreiche Seite ist hier: https://support.Microsoft.com/en-us/kb/942055

13
Rob

Hatte das gleiche Problem wie oben, den gleichen Fehlercode usw. Einrichten einer lokalen Website unter Windows 8. Nach langem Suchen wurde festgestellt, dass das Umschreiben der URL fehlte. Nach dem Download war alles in Ordnung. :)

12
The Edge

Ich füge nur eine Antwort hinzu, weil ich stundenlang versucht habe, die gleichen Symptome zu lösen (aber ein anderes Problem):

Eine mögliche Ursache ist eine x86-DLL in einem 64-Bit-App-Pool. Die Lösung besteht darin, 32-Bit-Apps in den Einstellungen des Anwendungspools zu aktivieren.

8
Guillaume86

Für mich war die erneute Registrierung von asp.net für iis der Trick. Hoffentlich hilft das jemand anderem.

aspnet_regiis.exe -i
4
ctc

Zusammenfassend anhand der Antworten hier und anderswo:

  1. Überprüfen Sie die .NET-Version des App-Pools (z. B. 2.0 oder 4.0).
  2. Stellen Sie sicher, dass alle IIS referenzierten Module installiert sind. In diesem Fall handelte es sich um die AJAX Erweiterungen (dies ist heutzutage wahrscheinlich nicht der Fall), aber um RL) Rewrite ist weit verbreitet.
4
Mark Sowul

Eine andere Möglichkeit, 500.19 Fehler ohne ersichtlichen Grund zu erhalten, besteht darin, dass Verzeichnisse fehlen und/oder die Berechtigungen dafür nicht korrekt sind.

Im Falle dieser Frage fragt die Frage meines Erachtens nach der vollständigen IIS version. Ich nehme dies aufgrund der folgenden Zeile an:

Config File         \\?\E:\wwwroot\web.config

Das IIS-Installationsprogramm erstellt normalerweise das wwwroot für Sie. Dies ist der Standardstammordner für alle Websites und der Bereitstellungspunkt für virtuelle Verzeichnisse. Es gibt es immer, also kein Problem, das interessiert Sie normalerweise nicht.

Da web.config-Dateien hierarchisch sind, können Sie dort eine web.config-Masterdatei ablegen und dort einige Stammeinstellungen vornehmen. Alle Sites übernehmen diese. IIS prüft, ob diese Datei existiert und versucht sie zu laden.

Erster spaßiger Teil:

Dieses Verzeichnis ist vorhanden, wenn Sie IIS ordnungsgemäß installiert haben. Wenn es nicht vorhanden ist, wird ein Fehler der Klasse 500 angezeigt. Wenn Sie jedoch mit Datei-/Verzeichnisberechtigungen spielen, insbesondere mit "erweiterten" Berechtigungen Sie können tatsächlich versehentlich IIS Dienstkonto vom Scannen/Lesen des Inhalts dieses Verzeichnisses abweisen. Wenn IIS kann nicht überprüfen, ob die Datei wwwroot\web.config vorhanden ist oder ob sie vorhanden ist und IIS= kann sie nicht öffnen und lesen - bam - Fehler der 500er-Klasse.

Für volle IIS ist es jedoch sehr unwahrscheinlich. Entwickler/Administratoren, die mit vollen IIS arbeiten, zögern normalerweise, mit wwwroot zu spielen, also normalerweise bleibt richtig konfiguriert.

Am IIS Express ..

In der Regel funktioniert IIS Express "nur". Entwickler, die IIS Express verwenden, sind sich oft nicht bewusst, wie sehr es intern dem echten IIS ähnelt.

Sie können leicht auf die Tatsache stoßen, dass IIS Express eine eigene applicationHost.config-Datei hat und VS sie für Sie erstellt und verwaltet (bis zu einem gewissen Grad korrekt) und eine Art Augenöffner Sie, dass es nicht so einfach ist und zeigen und klicken, wie es zunächst scheint.

Neben dieser Konfigurationsdatei erstellt VisualStudio auch eine leere Verzeichnisstruktur in Ihrem Ordner Documents. Wenn ich mich richtig erinnere, betrachtet IIS Express diese Ordner als die Stammverzeichnisse Ihrer Website (s) , auf denen virtuelle Verzeichnisse mit Ihrem Code werden bereitgestellt.

Genau wie IIS erwartet auch IIS beim Starten von IIS Express) , dass diese Ordner vorhanden sind , und sucht nach Stammweb .config-Dateien dort. Die Site web.config Dateien. Fast immer fehlen diese web.config-Dateien - und das ist in Ordnung, weil Sie nicht wollen sie - Sie haben Ihre ** Anwendung web.config ", sie werden mit dem Rest des Inhalts in einem virtuellen Verzeichnis abgelegt.

Jetzt ist der zweite spaßige Teil: IIS Express erwartet , dass Verzeichnisse leer sind. Sie können leer sein, aber sie brauchen Wenn sie nicht existieren, erhalten Sie eine Fehlermeldung der Klasse 500, dass auf die Datei "web.config" unter diesem Pfad nicht zugegriffen werden kann.

Das erste Mal bin ich auf dieses Problem gestoßen, als ich meine Festplatte geleert habe. Ich habe festgestellt, dass der Ordner 'documents\websites' voller Papierkorb mehrere Jahre alte Projekte enthält, an denen ich nicht mehr arbeite. Alle sind leer, keine einzige Datei. Ich habe alle gelöscht. Eine Woche später - bam - kann ich keine der Sites ausführen/debuggen, an denen ich gerade gearbeitet habe. Fehler war 500.19, Konfigurationsdatei kann nicht gelesen werden.

Wenn Sie also IIS Express verwenden und Fehler der 500er-Klasse beim Lesen der Konfiguration feststellen, überprüfen Sie die Fehlermeldung sorgfältig und lesen Sie alle angegebenen Pfade.

c:\users\user\documents\visual studio 2013\projects\WebProject1\WebProject1.web\web.config
c:\users\zeshan.munir\documents\visual studio 2015\projects\WebProject1\WebProject1.web\web.config
c:\users\zeshan.munir\documents\visual studio 2017\projects\WebProject1\WebProject1.web\web.config
etc..

Gehen Sie genau dorthin, wo der Fehler anzeigt, stellen Sie sicher, dass diese Ordner vorhanden sind, dass IIS Arbeiterkonto kann sie durchlaufen und lesen, und wenn Sie feststellen, dass etwas falsch ist, ist es vielleicht das.

BTW. In VisualStudio befindet sich unter ProjectProperties/Web die Schaltfläche "Virtuelles Verzeichnis erstellen". Es macht im Wesentlichen genau das, also können Sie es zuerst versuchen, aber IIRC kann manchmal auch Konfigurationsabschnitte in der Datei applicationHost.config löschen/überschreiben/austauschen. Seien Sie also vorsichtig mit dieser Schaltfläche, wenn Sie dort benutzerdefinierte Setups haben.

4
quetzalcoatl

In meinem Fall stimmte etwas mit der Installation des .NET Core Windows Hosting Bundle nicht.

Ich hatte das installiert und hatte neu gestartet IIS mit ("net stop was/y" und "net start w3svc") nach der Installation, aber ich würde diesen 500.19 Fehler mit Fehlercode 0x8007000d und Config Source bekommen -1: 0 :.

Ich konnte das Problem beheben, indem ich die .NET Core Windows Hosting Bundle-Installation reparierte und IIS mit den oben genannten Befehlen neu startete.

Hoffe das hilft jemandem!

3
demonicdaron

Ich hatte den gleichen fehler Ich hatte eine IIS Site mit .net Framework Version 2.0, aber meine App benötigte 4.0. Ich habe die Version geändert und es hat funktioniert.

Posting nur als Erinnerung, wenn jemand das gleiche Problem haben könnte.

2
Nenotlep

Kommentieren Sie die folgenden Zeilen in der Datei web.config.

<modules>
    <!--<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
</modules>

<handlers>
    <remove name="WebServiceHandlerFactory-ISAPI-2.0"/>
    <!--<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    <add name="ScriptResource" verb="GET" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
</handlers>

Das wird funktionieren.

2
Amal Shashika

Mein IIS 7.5 versteht das Tag in web.config nicht. In VS 2010 wird dieses Tag ebenfalls unterstrichen. Überprüfen Sie Ihre Konfigurationsdatei genau, um alle unterstrichenen Tags zu finden. Ich habe es in den Kommentar eingefügt und der Fehler geht Weg.

2
Konstantin

Dieser schöne Detailfehler ist auch 2019 noch vorhanden! Ich möchte das nur hinzufügen, wenn Ihr web.config ist gültig und zugänglich, es handelt sich höchstwahrscheinlich um ein Abhängigkeitsproblem.

Wie vom OP erwähnt, war es ein AJAX Modul und wie von anderen allgemein das Rewrite Modul. Lassen Sie in Ihrer web.config einfach die Augen offen, auf welche Module und Bibliotheken Ihre Tags verweisen, da der Fehlercode x8007000d ungefähr JEDE Abhängigkeit sein kann.

In meinem Fall habe ich nicht bemerkt, dass das AspNetCore -Paket fehlte und installiert werden musste! So glücklich, dass ich diesen Beitrag gefunden habe !!

2
Avinor

Dies kann zusammenhängen oder auch nicht .... Ich habe mit demselben Fehler wie oben begonnen, angefangen zu googeln, Änderungen vorzunehmen, neue Fehler zu erhalten, Endlosschleife.

Die Änderung, die mich durch diesen Fehler veranlasst hat, hat die Funktionsdelegation in IIS Manager im Verwaltungsabschnitt des Servers durcheinander gebracht. Es tut mir leid, dass ich mich nicht erinnern kann, welche ich geändert habe, aber google könnte helfen.

Das brachte mich über den ersten Fehler hinaus in einen ganz neuen Strom von anderen, einige völlig unsinnig. (Ich würde einen Fehler bekommen, wenn ich unter einem virtuellen Verzeichnis laufen würde. Wenn ich es in eine Anwendung konvertiere, ergebe ich einen anderen Fehler, usw.). Was diese Reihe von Fehlern endlich löste, war: IIS Manager, Anwendungspools, DefaultAppPool, 32-Bit-Anwendungen aktivieren = True

Ich hatte diese App auf einer 32-Bit-Windows XP-Box gestartet und starte sie jetzt auf einer 64-Bit-Windows 7-Box.

Hoffentlich hilft das jemand anderem.

2
tbone

Ich habe diesen Fehler durch Setzen des <customErrors> Tag innerhalb von <system.webServer> anstatt <system.web> wo es hingehört. Es gab ein kleines Kringeln unter dem <customErrors> tag, aber ich habe es nicht sofort bemerkt.

1
foldinglettuce

Windows 7

Versuche dies,

führen Sie cmd als Admin aus.

Alles entfernen.

start /w pkgmgr.exe /uu:IIS-WebServerRole;WAS-WindowsActivationService

Installieren Sie iis neu und normalerweise funktioniert es

Alain

1
Alan10977

Stellen Sie sicher, dass alle Funktionen von IIS ordnungsgemäß aktiviert sind.

  • Windows-Funktionen öffnen (Windows-Funktionen aktivieren oder deaktivieren).
  • Scrollen Sie nach unten zu Internetinformationsdienste

  • Öffnen Sie die Dropdown-Liste World Wide Web Plus

  • Öffnen Sie die Dropdown-Liste Anwendungsentwicklungsfunktionen
  • Aktivieren Sie alle nachfolgenden Kontrollkästchen manuell und klicken Sie dann auf OK

enter image description here

1
Versatile

Ich hatte das gleiche Problem in Windows 7.

Die Lösung bestand darin, zu den Grundeinstellungen> Verbinden als> Bestimmter Benutzer zu wechseln und sich als Benutzer anstelle des Standard-Durchgangs anzumelden.

Dies hat das Problem für mich behoben.

1
BuzzCloudAU