2012-12-03 4 views
14

Ein ASP.NET MVC-Projekt, das unter IIS 7.5 ausgeführt wird (aber das Problem kann auf früheren Versionen und Nicht-MVC-Sites vorhanden sein), das zuvor ausgeführt wurde, hat zurückgegeben 500 Interner Serverfehler, aber nur für den Inhalt, der vom statischen Handler verarbeitet wird - Bilder, Seiten usw., die von MVC selbst über einen Controller verarbeitet werden, funktionieren einwandfrei.ASP.NET MVC/IIS 7.5: 500 Interner Server Fehler nur für statischen Inhalt

Ich weiß, was es verursacht hat - ich dokumentiere dies, falls jemand anderes das gleiche Problem hat.

Antwort

30

I aktivierter Antrag Verfolgung fehlgeschlagen und nach der (riesigen) log gerade, entdeckte ich diese:

<EventData> 
    <Data Name="ContextId">{00000000-0000-0000-3700-0080010000FC}</Data> 
    <Data Name="ModuleName">CustomErrorModule</Data> 
    <Data Name="Notification">536870912</Data> 
    <Data Name="HttpStatus">500</Data> 
    <Data Name="HttpReason">Internal Server Error</Data> 
    <Data Name="HttpSubStatus">19</Data> 
    <Data Name="ErrorCode">2147942583</Data> 
    <Data Name="ConfigExceptionInfo"> 
    \\?\C:\Websites\xxx\www\web.config (58) :Cannot add duplicate collection 
    entry of type &apos;mimeMap&apos; with unique key attribute 
    &apos;fileExtension&apos; set to &apos;.woff&apos; 
    </Data> 
</EventData> 

Was ist geschehen ist, eine neue Mime-Typ Web-Fonts für Portion (.woff) hatte Explicity hinzugefügt auf der Website.

Später wurde auch der neue Mime-Typ (.woff) den globalen IIS-MIME-Typen hinzugefügt.

Anstelle der Einstellung der Website, die die globale Einstellung außer Kraft setzt, wurde eine Ausnahme ausgelöst.

+1

Ich habe es nicht getestet, aber ich würde mich nicht wundern, wenn dies auch zu einem Überschreiben anderer Einstellungen in web.config vs. global führen würde. – nrkn

+3

Große Frage, danke für das Posten. Die Dinge funktionierten auf einem DEV-Server und der Client kaufte das Hosting mit GoDaddy. Nach der Bereitstellung der Website haben wir 500 Fehler für jede Anfrage an statischen Inhalt (CSS, Bilder, etc.). Wir haben eine MIME-Map für statische Inhalte für .SVG hinzugefügt, um sie auf image/svg + xml zu übertragen, da IIS standardmäßig keine MIME-Map enthält. Ihre Antwort war genau das, was ich brauchte, wir haben die statische Inhaltskarte aus unserer web.config entfernt, neu geladen und es hat das Problem gelöst. –

+0

Froh, dass es geholfen hat! Es ist ein ziemlich ekliger Fehler - hat mich eine Weile gebraucht, um es herauszufinden. – nrkn

3

schließlich lösten diesen 500 Interner Serverfehler, wenn sie auf godaddy.ocm MVC 3.0-Anwendung bereitstellen Shared

irgendwie Hosting es in web.config genannten Abweichungen von der Version von DLLs verwiesen und Version waren.

Versucht alle Optionen in verschiedenen Forum erwähnt, half nichts, obwohl jeder die gleiche Art von Fix vorgeschlagen, aber irgendwie nicht in meinem Szenario funktioniert. Endlich nachdem ich meinen Kopf 2 Tage lang geschlagen habe. Ich beschloss, alle DLL-Referenz zu löschen und löschen web.cofig (eine lokale Kopie erstellen) aus dem Projekt und lassen Sie Anwendung einen Fehler werfen und dann dll eins nach dem anderen hinzufügen Kopie auf local = wahr. nachdem alle dlls hinzugefügt wurden. Ich habe eine neue asp.net mvc-Anwendung erstellt und die web.config der neuen App in meine aktuelle App kopiert. so hat meine eigentliche App jetzt eine neue web.config, dann habe ich die Connectionstring und andere Referenz von der lokalen Kopie von web.config kopiert, die ich gespeichert habe.

nur die Anwendung kompiliert und auf lokalen Ordner veröffentlicht und FTP den veröffentlichten Ordner GoDaddy

Es funktionierte und schließlich wurde mein Problem

Hoffnung löste dieses Menschen helfen und sie nicht 2 Tage wie ich verschwenden ,

8

entfernen Sie stets alle Mimetyp, den Sie hinzufügen möchten, falls es bereits auf dem IIS/Server-Ebene definiert ist, zum Beispiel:

<staticContent> 
    <remove fileExtension=".otf" /> 
    <mimeMap fileExtension=".otf" mimeType="application/x-font-otf" /> 
</staticContent> 
+0

Testing eine WebApp in Windows 10 gab kontinuierlich 500 Interner Serverfehler wegen dieser Linie (was zuvor in Windows 8.1 erforderlich war) Das Hinzufügen des Remove-Tags führte dazu, dass es in beiden Umgebungen funktionierte – Meoiswa

Verwandte Themen