2012-05-15 239 views
0

我有一個asp.net應用程序,要求用戶輸入私人信息,並通過會話超時自動登出應用程序。但是,這並不妨礙他們點擊後退按鈕。我需要禁用這個。瀏覽器忽略asp.net緩存設置

我曾嘗試這些方法設在這裏的每一位:http://www.codeproject.com/Tips/135121/Browser-back-button-issue-after-logout

第一個代碼塊一天左右偉大的工作。現在突然我的瀏覽器IE8和FF 7.0.1完全忽略它。事實上,我已經試過了我可以在網上找到的緩存壓縮代碼的每種可能組合,而且不管我總是可以點擊回來。

我已經刪除了兩個瀏覽器上的緩存,試過並在每個組合中重試。重新啓動。關閉VS2008並重新打開。將母版頁中的代碼頁級別放在我的基本頁面中。沒有。有人請讓我知道他們是否有任何建議

+0

您是否使用[Fiddler](http://www.fiddler2.com/)這樣的工具調試了什麼? –

+0

我從來沒有使用過提琴手。有沒有好的教程/參考?此外,它甚至會告訴我什麼是緩存,爲什麼? – user1148341

+0

它會告訴你正在進行的HTTP會話,以便你可以驗證*你的頭文件*是否存在,以及*瀏覽器是否應該在實際應用時進行重新驗證*等。 –

回答

1

但是,這並不妨礙他們點擊後退按鈕。我 需要禁用此。

您無法禁用後退按鈕。這是不可能的。你需要做的是製作應用程序,以便在有人使用它時處理。瀏覽器不必遵循緩存過期等規則,所以你的代碼必須能夠處理過期的會話。沒有其他辦法。您可以讓服務器在服務器上過期,因此它不會允許該人員向其發佈數據,但您無法使用後退按鈕的位置無法使用該會話。

+0

我不是指禁用它,因爲它不會出現或變灰。但是當您點擊後退按鈕時,我的頁面只會刷新,因爲沒有歷史記錄可供使用。現在突然間所有的瀏覽器都完全忽略了有關緩存過期的任何陳述 – user1148341

+1

正確的,當我說禁用我的意思是使它無法執行它的功能,這基本上是你在做什麼。如果它以前並沒有現在,那麼很可能在代碼中發生了一些變化,從而導致了問題。沒有看到它是很難說的。我要說的是,如果你要依靠這個工作,那麼除了這個之外,我還會考慮實施另一個策略,因爲你依賴於瀏覽器來遵循你所設定的規則。 – kemiller2002