如何让ASP.NET AJAX通过GZip压缩发送JSON响应?

前端之家收集整理的这篇文章主要介绍了如何让ASP.NET AJAX通过GZip压缩发送JSON响应?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在IIS7中启用了压缩,除了ASP.NET AJAX构建的应用程序之外,它对所有响应的预期工作正常.我有一个向客户端提供数据的Web服务.当Web服务被直接调用时,它被正确压缩.但是,当通过ASP.NET AJAX调用时,JSON响应不会被压缩.

如何让ASP.NET AJAX通过GZip压缩发送JSON响应?

解决方法

IIS7使用内容编码来决定是否压缩响应(假设浏览器可以接受gzip).它们设置在applicationHost.config中,默认情况下是列表
<dynamicTypes>
     <add mimeType="text/*" enabled="true" />
     <add mimeType="message/*" enabled="true" />
     <add mimeType="application/x-javascript" enabled="true" />
     <add mimeType="*/*" enabled="false" />
</dynamicTypes>

如果直接调用Web服务,则XML响应具有内容类型的text / xml,它被压缩.当由AJAX调用时,JSON响应具有application / json的内容类型,因此它不被压缩.将以下内容添加到applicationHost.config应该会修复…

<add mimeType="application/json" enabled="true" />

猜你在找的asp.Net相关文章