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