AzureがホストするWebアプリケーションにSVGおよびWOFFファイルを提供する機能を追加していました。私は次の指示を見つけました:
これに続いて、以下のテキストを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>
これは、Azureに発行されたときに機能します。しかし、Webサイトが提供しようとするすべてのリソースに対してローカルでデバッグモードでWebサイトを起動しようとするたびに、IIS-Expressから次のエラーが発生します。
HTTPエラー500.19-内部サーバーエラー
ページの関連構成データが無効であるため、要求されたページにアクセスできません。
詳細なエラー情報:
- モジュール:CustomErrorModule
- 通知SendResponse
- ハンドラStaticFile
- エラーコード0x800700b7
- 構成エラーは、一意のキー属性「fileExtension」が「.svg」に設定されたタイプ「mimeMap」の重複するコレクションエントリを追加できません
- 設定ファイルsnip\ web.config
- リクエストされたURL http://snip:14466/resources/img /snip.png
- 物理パスC:* snip *\Resources\img * snip * .png
- ログオンメソッド匿名
- 匿名のログオンユーザー
構成ソース:
58: <mimeMap fileExtension=".json" mimeType="application/json" /> 59: <mimeMap fileExtension=".svg" mimeType="image/svg+xml" /> 60: <mimeMap fileExtension=".woff" mimeType="application/x-font-woff"/>
.svgのmimeMapは明らかに嫌いですが、これはAzure Webサイトでは問題なく機能します。 Web.configへのこれらの変更をローカルで実行するために欠けているものはありますか?
そしてもちろん、私はすでに私の質問を投稿した後にこの答えを見つけます:
<mimeMap>エントリを追加すると、IIS Express の他の静的コンテンツに500が発生する==
したがって、問題は私のローカルIIS構成にモジュールが既にロードされているのに、本番環境にはロードされていないことです。そのため、両方の環境の問題を修正するには、mimeMapsがアンロードされる前に確認する必要がありますそれらをロードします。
修正のためのコードは次のとおりです。
<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>
これが他の人が修正を探すために時間を無駄にするのを助けることを願っています。
anymimeMapアイテムがWeb.Config
アプリをホストするディレクトリとデフォルトの%UserProfile%\Documents\IISExpress\config\applicationhost.config
彼ら全員にとって失敗するでしょう。
同じソリューションが機能しました:<remove>
each<mimeMap>
エントリ。