首先,介绍一下背景。我为 ASP.NET 编写了一个自定义 HTTP 压缩模块。我的开发机器有Windows 7 Ultimate,它附带了IIS7。我的生产环境使用IIS6。
我遇到的问题是,资源专家 Droid (redbot.org) 告诉我,我需要在响应中添加标头以正确支持压缩:“Vary: Accept-Encoding”
在IIS7的集成模式下,可以正常运行。但是,在经典模式(我的应用程序最终运行的方式)下,我无法让代码使用 Response.AppendHeader()、Response.Cache.SetVaryByCustom() 或 Response.Cache.VaryByHeaders 中的任何一个输出此标头。
我使用通配符处理程序映射,因此 ASP.NET 即使在经典模式下也能看到所有请求。
我知道你说过你已经尝试过这个,但这是通常的方法:
this.Response.Cache.SetVaryByCustom("Accept-Encoding");
您可以尝试在生命周期的后期调用该方法,例如从End_Request
在 HttpModule 中。
不幸的是,如果这不起作用,在 IIS6 中,您将需要使用 ISAPI 来设置自定义 HTTP 标头。
FWIW,内置压缩系统应该自动为您设置该标头。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)