IISのハンドラーとmime-typesの両方をweb.configに追加して、サイトで使用しているさまざまな種類のオーディオファイルとビデオファイルの処理方法をサーバーに指示しました。IISは、これらのmimeタイプを尊重していないようですが、application/octet-stream(「不明な」ファイルタイプのデフォルト)を介してそれらを提供するように戻っています。
ファイルはローカルの開発環境で適切に提供されますが、まったく同じ設定を使用している場合でも、QAサーバーとProdサーバーで提供されます(そしてIIS mime-typesが表示されていることを確認) 、ファイルが正しく機能しません。
進め方について何かアイデアはありますか?基本的なアイデアのほとんどを使い果たし、構成とシステムセットアップを開発からQAまで何度も比較しました。
コード例:
<remove fileExtension=".mp4" />`
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />`
どうやら、次のようにlocationタグやweb.configでこれをオーバーライドすることはできません。
<staticContent>
<mimeMap fileExtension="woff" mimeType="application/x-font-woff" />
<remove fileExtension="ogg"/>
<remove fileExtension="mp4"/>
<remove fileExtension="webm"/>
<mimeMap fileExtension="ogg" mimeType="video/ogg" />
<mimeMap fileExtension="webm" mimeType="video/webm" />
<mimeMap fileExtension="mp4" mimeType="video/mp4" />
</staticContent>
代わりに、GUIのmimeタイプの下に.mp4を追加する必要がありました(これはweb.configをまったく変更していないようです)。
Fiddlerで確認され、.mp4はvideo/mp4のコンテンツタイプで提供されるようになりました(staticContentタグが以前に定義されていたとしても)