2010-03-03 74 views
2

我有一個ASP.NET應用程序,並試圖輸出緩存一個特定的頁面,但是在每個請求中,調試器仍然打OnLoad方法,我得到一個200迴應。什麼會阻止ASP.NET輸出緩存?

我已經放置在輸出緩存指令在頁面上像這樣:

<%@ OutputCache Duration="60" VaryByParam="None" %> 

,並確保我擁有的OutputCache模塊

<add name="OutputCache" type="System.Web.Caching.OutputCacheModule"/> 

而且也繞過URL以防萬一改寫。我已經嘗試過使用Cassini和IIS 5.1(XP),但是頁面根本沒有緩存。

是否還有其他因素可能會影響此功能?

謝謝

回答

4

我有同樣的問題。我發現這行代碼在處理無法緩存的請求時被調用:

Response.Cache.SetCacheability(HttpCacheability.NoCache); 

註釋掉輸出緩存重新開始工作。我會猜測上面的行只會影響發送到客戶端/瀏覽器的標題。確保在頁面生命週期的任何時刻都沒有執行過這樣的操作。