我有檢索存儲在數據庫中的圖像,並把它寫到響應一個HttpHandler(也做到了這一點作爲一個ASPX頁面)。我在代碼中添加了以下幾行代碼,試圖讓圖像在瀏覽器中緩存,但每當我查看Firebug中的響應時,它總是有一個緩存控制標頭值爲「private」。ASP.NET Cache.SetCacheability(HttpCacheability.Public)未設置頭
Response.Cache.SetCacheability(HttpCacheability.Public)
我試過各種各樣的事情,就像使用Response.ClearHeaders & Response.AddHeader()來手動添加「緩存控制」頭值,但無濟於事。有任何想法嗎?
編輯:
更多信息:這是一個HTTP處理程序(ashx的)運行,並且我已經測試它都在我的本地IIS 5.1,並在託管網站我認爲這是IIS 6
在我的託管站點上使用WinXP Pro上的IIS 5.1和IIS 6。 – patmortech 2009-11-21 15:17:49
因此,您將Visual Studio配置爲在開發計算機上使用IIS,而不是使用內置的Web服務器?如果是這樣,IIS 5可能不支持這種方法;與Visual Studio集成的Web服務器肯定不會。 – RickNZ 2009-11-21 15:52:12
正如我在我的評論中提到的,我在我的託管網站上嘗試了這個處理程序,它很可能在IIS 6上,並且獲得了相同的響應頭(Cache-Control:private)。 – patmortech 2009-11-21 16:00:42