首先,简单介绍一下背景知识。我已经为ASP.NET编写了一个自定义的HTTP压缩模块,我的开发机器使用的是带有IIS7的Windows7旗舰版。我的生产环境使用IIS6。
我遇到的问题是,资源专家Droid (redbot.org)告诉我,我需要在响应中添加一个头来正确支持压缩:"Vary: Accept-Encoding“
在集成模式下的IIS7上,它工作正常。然而,在经典模式下,我无法让代码使用Response.AppendHeader()、Response.Cache.SetVaryByCustom()或Response.Cache.VaryByHeaders中的任何一个来输出这个头文件。
我使用通配符处理程序映射,所以即使在经典模式下,ASP.NET也可以看到所有请求。
发布于 2010-01-16 16:13:22
我知道你说过你已经尝试过了,但这是通常的方法:
this.Response.Cache.SetVaryByCustom("Accept-Encoding");您可以尝试在生命周期的后期调用该方法,例如从HttpModule中的End_Request调用。
不幸的是,如果这不起作用,在IIS6中,您将需要使用ISAPI来设置自定义的HTTP头。
FWIW,内置的压缩系统应该会自动为你设置头文件。
https://stackoverflow.com/questions/2075901
复制相似问题