如何为一个处理程序.ashx禁用gzip

时间:2010-09-14 23:10:01

标签: asp.net vb.net iis-6 httphandler

我正在使用IIS6运行一个网站,我写了一个简单的通用处理程序,它在接收图像url作为查询字符串时返回较小的图像。我的问题是服务器正在将gzip应用于某些文件类型,例如.aspx和.ashx 这使得处理程序的响应图像显示质量较低,因为它们是压缩的。

如何为这个处理程序文件禁用gzip,我希望无需编辑IIS即可获得解决方案。

这可能吗?

2 个答案:

答案 0 :(得分:1)

SO answer似乎与您的方案几乎完全相同。

答案是this link讨论如何根据开/关压缩方案进行文件夹。

还有this link在本文的底部附近讨论了这个问题。

您应该可以通过自己编辑元数据库或通过adutils.vbs来执行此操作。

答案 1 :(得分:0)

这对我有用 - 在ProcessRequest方法中:

context.Request.Headers.Remove("Accept-Encoding")

我认为这会让IIS认为客户端不支持GZip(或其他压缩方法),因此会发送未压缩的响应。

是的 - 这是一个黑客攻击(通常你不应该乱用请求标题)但它是迄今为止我见过的最简单的解决方案。

我个人需要这个,因为在GZip"压缩"之后,对Ajax调用的简单5字符纯文本响应最终为124字节。

这回答了这个问题的标题。但是对于带有图像的场景 - 由于GZip是无损的(未压缩数据=原始版本),因此它确实不应该有任何区别。