2010-06-11 6611 views
5

我假定發送尋呼出有失效(一拉)...什麼情況會導致Web瀏覽器顯示「Page Expired」消息?

Response.Cache.SetExpires(System.DateTime.Now.AddSeconds(5)); 
    Response.Cache.SetCacheability(HttpCacheability.Public); 
    Response.Cache.SetValidUntilExpires(true); 

...將意味着,如果用戶點擊後退按鈕,他們將看到「頁面過期」的消息。它似乎沒有那樣工作。我發現使用後退按鈕只會顯示舊的(IMO過期)頁面。事實上,在試驗緩存/不緩存和到期時間的不同組合時,我從從不設法從瀏覽器中獲得「Page Expired」消息。

什麼情況會引發這種信息?

服務器環境ASP .Net。我只在IE8中測試過 - 我假設其他瀏覽器在這裏是一致的。

回答

1

你可以嘗試設置這些額外的響應頭:

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma: no-cache 

不過,我不認爲有任何可靠的方法來迫使所有瀏覽器無法從歷史中重新加載頁面。

0

我想你以後是嘗試重新載入/刷新(或返回)已發佈數據的頁面時顯示的消息(與POST請求相反的GET),因此,因爲POST數據可能是「舊」信息,您會收到該警告。

+0

謝謝,但沒有。我認爲這就是「要再次顯示網頁,Internet Explorer需要重新發送您之前提交的信息...」的消息。那不是我想到的。我相信(我在這裏錯了嗎?),有一條消息聲稱該頁面已過期。我似乎無法挑起這個信息,所以我可能只是在咆哮錯誤的樹。 – RichardHowells 2010-06-11 12:06:57

相關問題