2011-08-25 127 views
1

我正在使用C#處理asp.net 4.0 Web應用程序。我目前使用會話進行身份驗證,註銷時我正在清除會話。但是,當用戶按下後,仍然有問題,他仍然能夠看到緩存頁面。我想禁用這些頁面的緩存,或者確保它被檢查。註銷 - 如何清除緩存,asp.net

這樣做的最好方法是什麼?如果我將服務器設置爲不存儲緩存的信息,這會影響所有的應用程序,還是隻是我的應用程序?

回答

7

page_load

Response.Cache.SetCacheability(HttpCacheability.NoCache); 

這是唯一的真正的答案,雖然它知道,這只是一個請求到瀏覽器停止緩存是很重要的添加這一點 - 它並不一定必須遵循。

這需要包含在您不希望用戶'返回按鈕'的每個頁面上。

+0

的;感謝您編輯並添加正確的描述。 –

+1

它不會停止用戶按下並查看他們剛剛查看的頁面。這只是瀏覽器的工作方式。 –

+0

這是您在使用後退按鈕時如何在某些瀏覽器中看到「本頁已過期」的行爲? – pseudocoder

0

您可以添加按照Page_Init @ m.edmondson線的母版頁

protected void Page_Init(object sender, EventArgs e) 
    { 
     Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1)); 
     Response.Cache.SetCacheability(HttpCacheability.NoCache); 
     Response.Cache.SetNoStore(); 
    }