10

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

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

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

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

4

2 回答 2

11

是否为 mimetype 启用了动态压缩application/json; charset=utf-8?默认情况下,即使启用了动态压缩,它也不会启用。

要查看它是否已启用,您可以查看该部分applicationhost.config下的文件%windir%\System32\inetsrv\config

您不应该编辑该文件,而是使用appcmd.exe如下方式更改它:https ://stackoverflow.com/a/7375645/243936

于 2012-07-26T15:07:43.523 回答
0

其实你可以安装一个nuget包来实现,这需要很少的配置,在客户端你只需要添加accept-encoding:gzip。

如今,当 ASP.Net 能够在任何 Web 服务器中运行时,使用这种方法会更好。

在此视频中,我对使用 gzip 压缩的 WebApi 进行了完整/完整的解释。是西班牙语,但你知道“代码是一种通用语言”

忍者技巧#16 | Incluyendo soporte para GZip en WebAPI | C# 忍者技巧#16 |  Incluyendo soporte para GZip en WebAPI

于 2015-05-08T12:59:25.280 回答