为什么 ASP.NET gzip 压缩会破坏 CSS?
我正在开发一个 ASP.NET Webforms 应用程序 (3.5 SP1),并尝试启用 gzip fpr HTML 和 CSS。 我正在使用此实现(并尝试了很少有其他挂钩到Application_BeginRequest),并且它似乎正在破坏页面使用的外部CSS文件,但间歇性地......突然所有样式都会在页面刷新时消失,保持这种状态一段时间,然后突然再次开始工作。
IE7 和 FF3 都表现出这种行为。 使用 Web 开发人员工具栏查看 CSS 时,它会返回乱码。 缓存控制标头以“私有”形式出现,但我不知道这是否是一个影响因素。
此外,它运行在 ASP.NET 开发服务器上。 也许使用 IIS 就可以了,但我在 XP 上进行开发,所以应该是 IIS5。
I have an ASP.NET webforms application (3.5 SP1) that I'm working on, and attempting to enable gzip fpr HTML and CSS that comes down the pipe. I'm using this implementation (and tried a few others that hook into Application_BeginRequest), and it seems to be corrupting the external CSS file that the pages use, but intermittently...suddenly all styles will disappear on a page refresh, stay that way for awhile, and then suddenly start working again.
Both IE7 and FF3 exhibit this behavior. When viewing the CSS using the web developer toolbar, it returns jibberish. The cache-control header is coming through as "private," but I don't know enough to figure out if that's a contributing factor or not.
Also, this is running on the ASP.NET Development Server. Maybe it'd be fine with IIS, but I'm developing on XP and it'd be IIS5.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
只有 CSS 文件会被损坏吗? JS 文件(或任何其他静态文本文件)是否正常通过?
如果直接浏览 CSS 文件,是否可以复制该行为?
我仅使用以下方法在 Windows 2003 服务器的 IIS 上启用压缩:
%systemroot%\system32\ inetsrv\MetaBase.xml
位置="/LM/W3SVC/Filters/Compression/gzip"
png
、css
、js
和任何其他静态文件扩展名添加到HcFileExtensions
aspx
和任何其他可执行扩展添加到HcScriptFileExtensions
iisreset
)如果您有 Windows 2003/2008 服务器可以使用,您可以尝试这种方法。
Is it only CSS files that get corrupted? Do JS files (or any other static text files) come through ok?
Also can you duplicate the behavior if you browse directly to the CSS file?
I've only enabled compression on Windows 2003 server's IIS using this approach:
%systemroot%\system32\inetsrv\MetaBase.xml
Location ="/LM/W3SVC/Filters/Compression/gzip"
png
,css
,js
and any other static file extensions toHcFileExtensions
aspx
and any other executable extensions toHcScriptFileExtensions
iisreset
)If you have a Windows 2003/2008 server to play with you could try that approach.
如果您要在 IIS 6 或 IIS 7 上进行部署,只需使用内置的 IIS 压缩即可。 我们在生产站点上使用它来压缩 HTML、CSS 和 JavaScript,并且不会出现错误。 它还将压缩版本缓存在服务器上,因此压缩命中仅进行一次。
If you will be deploying on IIS 6 or IIS 7, just use the built-in IIS compression. We're using it on production sites for compressing HTML, CSS, and JavaScript with no errors. It also caches the compressed version on the server, so the compression hit is only taken once.