我正在开发一个使用MVC4 WebAPI(RC)的项目。响应不是gzip压缩的(IIS中的动态压缩已启用)。
正常MVC控制器的响应被压缩。我是否需要特定设置才能为WebAPI响应启用gzip压缩?
我可以添加自定义压缩处理程序,但如果可能的话,我只想使用内置的IIS压缩。
顺便说一句,我知道这几乎与Compress HTTP GET Response重复,但是那里接受的答案并没有真正回答我的问题。答案 0 :(得分:11)
是否为mimetype application/json; charset=utf-8
启用了动态压缩?默认情况下,即使启用了动态压缩,也不会启用此功能。
要查看它是否已启用,您可以查看该部分applicationhost.config
下的%windir%\System32\inetsrv\config
文件。
您不应该编辑该文件,而是使用appcmd.exe
进行更改,如下所示:https://stackoverflow.com/a/7375645/243936
答案 1 :(得分:0)
实际上你可以安装一个nuget包来实现这一点,这需要很少的配置,在客户端你只需要添加accept-encoding:gzip。
现在,当ASP.Net能够在任何Web服务器上运行时,使用这种方法会更好。
在本视频中,我使用gzip压缩对WebApi进行了完整/完整的解释。是西班牙语,但你知道“代码是一种通用语言”