我确实在我的 IIS 7.5 Web 服务器上正确设置了 gzip,并且它在大多数情况下都有效。
但我可以看到响应标头显示我对 JsonResult 方法发出的任何请求都没有被压缩。我需要更改什么以便 JsonResult 返回带有 Content-Encoding: gzip 的数据?
这是调用 JsonResult 方法时的标头屏幕截图:
与调用返回 html 的内容时的标题屏幕截图相比,例如 RenderPartial():
编辑:这些是我在 applicationHost.config 中的压缩设置:
<httpCompression
directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="application/json" enabled="true" />
<add mimeType="application/json; charset=utf-8" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/json" enabled="true" />
<add mimeType="application/json; charset=utf-8" 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="*/*" enabled="false" />
</staticTypes>
</httpCompression>