c# – Web API Gzip未应用

我添加了web.config条目以启用基于此S / O应答Enable IIS7 gzip的gzip压缩.

然后,我在加载ASPX页面时检查了Chrome Developer窗口,并在响应中看到了标题:

Cache-Control:private
Content-Encoding:gzip
Content-Length:3669
Content-Type:text/html; charset=utf-8
Date:Wed, 04 Mar 2015 00:46:05 GMT
Server:Microsoft-IIS/7.5
Vary:Accept-Encoding
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET

这意味着它是“工作”,正确吗?但是当进行Web API调用时寻找该标题时,它不存在:

Cache-Control:no-cache
Content-Length:551
Content-Type:application/json; charset=utf-8
Date:Wed, 04 Mar 2015 00:53:05 GMT
Expires:-1
Pragma:no-cache
Server:Microsoft-IIS/7.5
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET

我已经尝试过各种不同的配置(从上面链接的S / O答案中推荐的配置开始).最后,在绝望的行为中,我设置了这一点,我以为会试图压缩所有请求(除* / *之外的所有内容都注释掉):

  <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/>
    <dynamicTypes>
      <add mimeType="*/*" enabled="true"/>
      <!--<add mimeType="text/*" enabled="true"/>
      <add mimeType="message/*" enabled="true"/>
      <add mimeType="application/javascript" enabled="true"/>
      <add mimeType="application/json" enabled="true"/>-->
      <!--<add mimeType="*/*" enabled="false"/> -->
    </dynamicTypes>
    <staticTypes>
      <add mimeType="*/*" enabled="true"/>
      <!--<add mimeType="text/*" enabled="true"/>
      <add mimeType="message/*" enabled="true"/>
      <add mimeType="application/javascript" enabled="true"/>
      <add mimeType="application/json" enabled="true"/>-->
      <!-- add mimeType="*/*" enabled="false"/>-->
    </staticTypes>
  </httpCompression>
  <urlCompression doStaticCompression="true" doDynamicCompression="true"/>

什么可以阻止GZIP应用于我的Web API方法?

更新

我已经尝试了NuGet Web API Compression package,并在IIS Express 8.0(Visual Studio)和本地安装的IIS 7.5中编辑applicationHost.config.所有这些都产生了相同的结果:请求其他MIME类型,如text / * work,但是application / json拒绝gzip压缩.

WebAPI后面是一个防火墙,Web代理,病毒防护套件?如Even Faster Web Sites: Performance Best Practices for Web Developers By Steve Souders所述
这可能会剥离标题.
http://stackoverflow.com/questions/28844960/web-api-gzip-not-being-applied

转载注明原文:c# – Web API Gzip未应用