asp.net-mvc - 设置 IIS7 gzip 压缩级别

标签 asp.net-mvc iis iis-7 compression gzip

在 ASP.NET MVC 中,我使用 web.config 来启用和配置 IIS7.5 gzip 压缩设置。但是它们压缩级别设置似乎根本没有效果:

<scheme name="gzip" dynamicCompressionLevel="9" staticCompressionLevel="9"/>

两种设置的压缩级别都为 0,我的主页被压缩到 9,290 字节(从 39,623)

两种设置的压缩级别都为 9,我的主页被压缩为 9,290 字节(从 39,623)

(使用 fiddler 检查压缩/未压缩的大小)

压缩量没有区别 - 为什么会这样?这发生在我的本地开发机器 - Windows 7 上。我还没有在我们的 Win 2008 Web 服务器上尝试过。

web.config 中的完整压缩设置:
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
  <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" dynamicCompressionLevel="10" staticCompressionLevel="10"/>
  <dynamicTypes>
    <add mimeType="text/*" enabled="true"/>
    <add mimeType="message/*" enabled="true"/>
    <add mimeType="application/javascript" enabled="true"/>
    <add mimeType="application/x-javascript" enabled="true"/>
    <add mimeType="application/xml" enabled="true"/>
    <add mimeType="*/*" enabled="false"/>
  </dynamicTypes>
  <staticTypes>
    <add mimeType="text/*" enabled="true"/>
    <add mimeType="message/*" enabled="true"/>
    <add mimeType="application/javascript" enabled="true"/>
    <add mimeType="application/x-javascript" enabled="true"/>
    <add mimeType="application/xml" enabled="true"/>
    <add mimeType="*/*" enabled="false"/>
  </staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="true"/>

编辑:显然最高级别是 9。这个页面说是 10 但肯定是不正确的 http://www.iis.net/configreference/system.webserver/httpcompression/scheme .使用9级时问题依旧

最佳答案

请仔细检查您是否有 dynamic compression installed

接下来你可能会考虑覆盖一些 compression defaults dynamicCompressionDisableCpuUsage设置为 90% 并且压缩不会再次启动,直到您低于 dynamicCompressionEnableCpuUsage默认为 50%。我建议提高后者。

Failed request tracing也在several中推荐places关于此类问题,这可能会帮助您发现问题。

下面的问题有一些详细的解答

How can I get gzip compression in IIS7 working?

Compression is not working

更新:

该设置可能在应用程序级别被锁定,因此您应该尝试运行以下命令:

appcmd set config -section:urlCompression /doDynamicCompression:true

如果它仍然是一个问题,可能值得调整 minFileSizeForComp其默认值为 increased with later IIS versions .

根据评论,当你试图解决这个问题时,也尝试只做动态开始和停止静态。

关于asp.net-mvc - 设置 IIS7 gzip 压缩级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12633217/

相关文章:

iis - 升级到 Windows 11 后不再提示本地主机的 CAC

asp.net - 禁用 IE6 客户端的 GZIP 压缩

.net - 在 IIS 中修改 Access-Control-Allow-Origin header

asp.net-mvc - 如果另一个属性在 MVC 3/jQuery Validator 上有值,则验证一个属性

c# - 为什么 IoC 会影响 Controller 的创建以及如何解决这个问题?

mysql - 在 Windows Vista 上安装 MySQL(使用 IIS)

asp.net - SMTP 电子邮件在 ASP.NET7 + II7 中不起作用,但在 Telnet 中起作用

c# - Asp.Net MVC4 + Web API Controller 删除请求 >> 404 错误

asp.net - MVC 4 模型返回 null

javascript - 允许用户使用 JavaScript 将文件上传到文件夹