web-dev-qa-db-de.com

IIS Express - HTTP-Fehler 500.19 0x800700b7 für 'mimeMap' für 'fileExtension' auf '.svg' gesetzt

Ich habe jetzt die Möglichkeit hinzugefügt, SVG- und WOFF-Dateien in meiner von Azure gehosteten Webanwendung bereitzustellen. Ich habe folgende Anweisungen gefunden:

https://blogs.iis.net/richma/archive/2014/01/07/adding-mime-types-to-your-windows-Azure-web-site.aspx

Diesem folgte ich, indem ich den folgenden Text meiner Web.config-Datei hinzufügte:

<staticContent>
    <mimeMap fileExtension=".json" mimeType="application/json" />
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
    <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
</staticContent>

Dies funktioniert bei der Veröffentlichung in Azure. Nun bekomme ich jedoch die folgende Fehlermeldung von IIS-Express, wenn ich versuche, Starten der Website im Debugmodus lokal für jede Ressource, die die Website zu bedienen versucht. 

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: CustomErrorModule
  • Benachrichtigung SendResponse
  • Handler StaticFile
  • Fehlercode 0x800700b7
  • Config Error Kann keinen doppelten Sammlungseintrag des Typs 'mimeMap' hinzufügen, wobei das eindeutige Schlüsselattribut 'fileExtension' auf '.svg' gesetzt ist.
  • Konfigurationsdatei snip\web.config
  • Angeforderte URL http: // snip: 14466/resources/img/snip .png
  • Physischer Pfad C: * snip *\Resources\img * snip * .png
  • Anmeldemethode Anonym
  • Anmeldebenutzer anonym

Konfigurationsquelle:

   58: <mimeMap fileExtension=".json" mimeType="application/json" />
   59: <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
   60: <mimeMap fileExtension=".woff" mimeType="application/x-font-woff"/>

Es hasst eindeutig meine MimeMap für .svg, aber das funktioniert auf Azure-Websites gut. Gibt es etwas, was ich vermisse, wenn diese Änderungen lokal an der Web.config vorgenommen werden?

25
Jesse VanDerPol

Und natürlich finde ich diese Antwort, nachdem ich bereits meine Frage gestellt habe:

Hinzufügen des <mimeMap> -Eintrags verursacht 500 für anderen statischen Inhalt in IIS Express

Das Problem ist also, dass in meiner lokalen IIS -Konfiguration die Module bereits geladen sind, während dies in der Produktionsumgebung nicht der Fall ist. Um das Problem in beiden Umgebungen zu beheben, müssen Sie sicherstellen, dass die MimeMaps vor dem Laden entladen werden. 

Der Code lautet wie folgt für das Update:

<staticContent>
    <remove fileExtension=".json"/>
    <mimeMap fileExtension=".json" mimeType="application/json" />
    <remove fileExtension=".svg"/>
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
    <remove fileExtension=".woff"/>
    <mimeMap fileExtension=".woff" mimeType="application/x-font-woff"/>
</staticContent>

Ich hoffe, dies hilft anderen dabei, Zeit zu verschwenden, um nach einer Lösung zu suchen.

50
Jesse VanDerPol

Ich habe festgestellt, dass, wenn Sie any mimeMap-Elemente zwischen Ihrem Web.Config in dem Verzeichnis, in dem sich Ihre App befindet, und dem Standard %UserProfile%\Documents\IISExpress\config\applicationhost.config dupliziert sind, dies für alle fehlschlagen wird.

Dieselbe Lösung funktionierte: <remove>each<mimeMap>-Eintrag.

0
rburte