JSON 压缩不适用于 Azure

JSON compression not working on Azure

我正在开发 MVC5 Web 应用程序,但无法让 Azure 对我的 JsonResults 执行动态压缩。 Web.config 中的以下代码仅当我在本地 运行 Web 应用程序时有效,但一旦我在 Azure Web 应用程序上部署,压缩就不起作用:

<urlCompression doStaticCompression="true" doDynamicCompression="true" />
<httpCompression>
  <dynamicTypes>
    <add mimeType="application/json" enabled="true" />
    <add mimeType="application/json; charset=utf-8" enabled="true" />
  </dynamicTypes>
  <staticTypes>
    <add mimeType="application/json" enabled="true" />
    <add mimeType="application/json; charset=utf-8" enabled="true" />
  </staticTypes>
</httpCompression>

我也尝试了以下方法,但没有成功:

<urlCompression doStaticCompression="true" doDynamicCompression="true" />
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
  <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
  <dynamicTypes>
    <add mimeType="application/json" enabled="true" />
    <add mimeType="application/json; charset=utf-8" enabled="true" />
  </dynamicTypes>
  <staticTypes>
    <add mimeType="application/json" enabled="true" />
    <add mimeType="application/json; charset=utf-8" enabled="true" />
  </staticTypes>
</httpCompression>

这个问题真的让我抓狂,考虑到我在网上从那些说他们成功实施了这些解决方案的人那里找到了这些解决方案,我看不出为什么这不起作用。有什么想法吗?

我终于明白问题是什么了:一些杀毒软件(包括我的,它是 Bitdefender)干扰了数据压缩机制,所以在我的电脑上我看不到压缩的发生,而实际上它工作得很好使用以下 Web.config 标记:

<urlCompression doStaticCompression="true" doDynamicCompression="true" />
<httpCompression>
  <dynamicTypes>
    <add mimeType="application/json" enabled="true" />
    <add mimeType="application/json; charset=utf-8" enabled="true" />
  </dynamicTypes>
  <staticTypes>
    <add mimeType="application/json" enabled="true" />
    <add mimeType="application/json; charset=utf-8" enabled="true" />
  </staticTypes>
</httpCompression>

有关类似问题的更多信息,这里有一篇有趣的文章:https://www.stevesouders.com/blog/2009/11/11/whos-not-getting-gzip/