2010-01-16 75 views
2

首先,有一点背景。我已经为ASP.NET编写了自定义HTTP压缩模块。我的开发机器具有Windows 7 Ultimate,它随IIS7一起提供。我的生产环境使用IIS6。无法在ASP.NET/IIS7经典模式下设置HTTP Vary标头

我遇到的问题是,资源专家的Droid(redbot.org)告诉我,我需要一个头添加到我的反应正确支持压缩:“有所不同:接受编码”

在IIS7在集成模式下,它工作正常。然而,在经典模式下,我的应用程序最终运行的方式是,我无法使用Response.AppendHeader(),Response.Cache.SetVaryByCustom()或Response.Cache.VaryByHeaders中的任何一个来输出此代码。

我正在使用通配符处理程序映射,所以即使在经典模式下ASP.NET也能看到所有请求。

回答

3

我知道你说你想这已经,但这里的通常的做法:

this.Response.Cache.SetVaryByCustom("Accept-Encoding"); 

您可以尝试调用该方法,在后期的生命周期,如从一个HttpModule End_Request

如果这不起作用,不幸的是,在IIS6中,您将需要使用ISAPI来设置自定义HTTP标头。

FWIW,内置的压缩​​系统应该为你自动设置标题。