2010-01-16 46 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,內置的壓縮​​系統應該爲你自動設置標題。