我正在运行一个使用IIS6的网站,并且我写了一个简单的通用处理程序,它在将图像url作为查询字符串接收时返回较小的图像。我的问题是服务器将gzip应用于某些文件类型,如.aspx和.ashx。
这使得我的处理程序的响应图像以较低的质量显示,因为它们被压缩。如何禁用只有一个处理程序的gzip .ashx
我怎样才能禁用gzip只是这个处理文件,我希望没有编辑IIS的解决方案。
这可能吗?
我正在运行一个使用IIS6的网站,并且我写了一个简单的通用处理程序,它在将图像url作为查询字符串接收时返回较小的图像。我的问题是服务器将gzip应用于某些文件类型,如.aspx和.ashx。
这使得我的处理程序的响应图像以较低的质量显示,因为它们被压缩。如何禁用只有一个处理程序的gzip .ashx
我怎样才能禁用gzip只是这个处理文件,我希望没有编辑IIS的解决方案。
这可能吗?
这为我工作 - 在ProcessRequest方法:
context.Request.Headers.Remove("Accept-Encoding")
我认为这使得IIS认为客户端不支持gzip(或其他压缩方法),因此将未压缩的响应。
是的 - 这是一个黑客(通常你不应该搞砸请求头),但它是迄今为止我见过的最简单的解决方案。
我个人需要这个,因为一个简单的5字符纯文本响应Ajax调用最终在GZip“压缩”后长达124字节。
这回答了这个问题的标题。但是,对于您的图像场景 - 它确实不应该有任何区别,因为GZip是无损的(未压缩数据=原始)。
我怀疑还有其他事情正在进行?这些文件将在客户端解压缩,因此不应该创建较低质量的图像。 – klabranche 2010-09-14 23:13:58
那么是什么让这发生?,当我删除gzip一切看起来不错。 – 2010-09-14 23:14:49
它必须与您的文件大小的动态性有关... .....我会添加一个答案,可以帮助您选择性地关闭它以满足您的需求。 – klabranche 2010-09-14 23:25:00