web-dev-qa-db-fra.com

IIS Express - Erreur HTTP 500.19 0x800700b7 sur 'mimeMap' pour 'fileExtension' défini sur '.svg'

J'ajoutais la possibilité de servir des fichiers SVG et WOFF à mon application Web hébergée sur Azure. J'ai trouvé les instructions suivantes:

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

Ce que j'ai suivi en ajoutant le texte ci-dessous à mon fichier Web.config:

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

Cela fonctionne une fois publié sur Azure. Cependant, je reçois maintenant l'erreur suivante d'IIS-Express chaque fois que je tente de démarrer le site Web en mode débogage localement pour chaque ressource que le site Web tente de servir. 

Erreur HTTP 500.19 - Erreur interne du serveur

La page demandée est inaccessible car les données de configuration associées à la page ne sont pas valides.

Informations d'erreur détaillées:

  • Module: CustomErrorModule
  • Notification SendResponse
  • Gestionnaire StaticFile
  • Code d'erreur 0x800700b7
  • Erreur de configuration Impossible d'ajouter une entrée de collection en double de type 'mimeMap' avec l'attribut de clé unique 'fileExtension' défini sur '.svg'.
  • Fichier de configuration snip\web.config
  • URL demandée http: // snip: 14466/resources/img/snip. Png
  • Chemin physique C: * snip *\Resources\img * snip * .png
  • Méthode de connexion anonyme
  • Identifiant de connexion anonyme

Source de configuration:

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

Il déteste clairement mon mimeMap pour .svg, mais cela fonctionne bien dans les sites Web Azure. Y at-il quelque chose qui me manque pour exécuter localement ces modifications dans Web.config?

25
Jesse VanDerPol

Et bien sûr, je trouve cette réponse après avoir déjà posté ma question:

L'ajout de l'entrée <mimeMap> provoque 500 pour un autre contenu statique sur IIS Express

Le problème est donc que les modules sont déjà chargés dans ma configuration IIS locale, contrairement à l'environnement de production. Donc, pour résoudre le problème des deux environnements, vous devez vous assurer que les mimeMaps sont déchargés avant de les charger. 

Le code est le suivant pour le correctif:

<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>

J'espère que cela aidera les autres à perdre du temps à chercher une solution.

50
Jesse VanDerPol

J'ai constaté que si vous avez any des éléments mimeMap dupliqués entre votre Web.Config dans le répertoire hébergeant votre application et le %UserProfile%\Documents\IISExpress\config\applicationhost.config par défaut, cela échouera.

Même solution travaillée: assurez-vous de <remove>chaque<mimeMap> entrée.

0
rburte