MVC4 WebAPI没有压缩GET响应

时间:2012-06-08 13:03:25

标签: asp.net-mvc gzip asp.net-mvc-4 asp.net-web-api http-compression

我正在开发一个使用MVC4 WebAPI(RC)的项目。响应不是gzip压缩的(IIS中的动态压缩已启用)。

正常MVC控制器的响应被压缩。我是否需要特定设置才能为WebAPI响应启用gzip压缩?

我可以添加自定义压缩处理程序,但如果可能的话,我只想使用内置的IIS压缩。

顺便说一句,我知道这几乎与Compress HTTP GET Response重复,但是那里接受的答案并没有真正回答我的问题。

2 个答案:

答案 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进行了完整/完整的解释。是西班牙语,但你知道“代码是一种通用语言”

NinjaTip #16 | Incluyendo soporte para GZip en WebAPI | C# NinjaTip #16 | Incluyendo soporte para GZip en WebAPI