9

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

IE7 和 FF3 都表现出这种行为。使用 Web 开发人员工具栏查看 CSS 时,它返回 jibberish。缓存控制标头作为“私有”通过,但我不知道这是否是一个促成因素。

此外,它在 ASP.NET 开发服务器上运行。也许使用 IIS 会很好,但我在 XP 上开发,它会是 IIS5。

4

2 回答 2

5

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

如果您直接浏览到 CSS 文件,您还可以复制该行为吗?

我只使用这种方法在 Windows 2003 服务器的 IIS 上启用了压缩:

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

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

于 2008-08-22T14:57:38.433 回答
0

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

于 2008-08-22T14:52:16.233 回答