ASP.NET MVC からの Json の結果を IIS 7 で正しく圧縮するのに苦労しています。IIS で静的圧縮と動的圧縮を有効にしました。通常の text/html および同様のレコードが圧縮されていることを Fiddler で確認できます。リクエストを表示すると、accept-encoding gzip ヘッダーが存在します。応答の MIME タイプは「application/json」ですが、圧縮されていません。
問題が MimeType に関連しているように見えることを確認しました。を含めるmimeType="*/*"
と、応答が正しく gzip されていることがわかります。ワイルドカード mimeType を使用せずに IIS を圧縮するにはどうすればよいですか? この問題は、ASP.NET MVC がコンテンツ タイプ ヘッダーを生成する方法と関係があると思います。
CPU 使用率は、動的スロットリングのしきい値を大幅に下回っています。IIS からのトレース ログを調べると、一致する MIME タイプが見つからないために圧縮に失敗していることがわかります。
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" noCompressionForProxies="false">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="application/json" enabled="true" />
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="application/atom+xml" enabled="true" />
<add mimeType="application/xaml+xml" enabled="true" />
<add mimeType="application/json" enabled="true" />
</staticTypes>
</httpCompression>