我正在开发一个 ASP.NET Webforms 应用程序 (3.5 SP1),并尝试启用 gzip fpr HTML 和 CSS。我在用着 这个实现 (并尝试了其他一些挂钩到Application_BeginRequest的方法),它似乎正在破坏页面使用的外部CSS文件,但间歇性地......突然所有样式都会在页面刷新时消失,保持这种状态一段时间,然后突然又开始工作了。

IE7 和 FF3 都表现出这种行为。使用 Web 开发人员工具栏查看 CSS 时,它会返回乱码。缓存控制标头以“私有”形式出现,但我不知道这是否是一个影响因素。

此外,它运行在 ASP.NET 开发服务器上。也许使用 IIS 就可以了,但我在 XP 上进行开发,所以应该是 IIS5。

有帮助吗?

解决方案

只有 CSS 文件会被损坏吗?JS 文件(或任何其他静态文本文件)是否正常通过?

如果直接浏览 CSS 文件,是否可以复制该行为?

我仅使用以下方法在 Windows 2003 服务器的 IIS 上启用了压缩:

  1. IIS → 网站 → 属性 → 服务选项卡,选中两个框
  2. IIS → Web 服务扩展 → 右键单击​​,添加新的
      Name
          Http Compression 
      Required Files
          %systemroot%\system32\inetsrv\gzip.dll 
  3. IIS→右键顶部节点,Internet信息服务,勾选 启用直接元数据库编辑
  4. 备份与编辑 %systemroot%\system32\inetsrv\MetaBase.xml
    1. 寻找 Location ="/LM/W3SVC/Filters/Compression/gzip"
      • 添加 png, css, js 以及任何其他静态文件扩展名 HcFileExtensions
      • 添加 aspx 以及任何其他可执行扩展 HcScriptFileExtensions
      • 节省
  5. 重新启动 IIS(运行 iisreset)

如果您有 Windows 2003/2008 服务器可以使用,您可以尝试这种方法。

其他提示

如果您要在 IIS 6 或 IIS 7 上进行部署,只需使用内置的 IIS 压缩即可。我们在生产站点上使用它来压缩 HTML、CSS 和 JavaScript,并且不会出现错误。它还将压缩版本缓存在服务器上,因此压缩命中仅进行一次。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top