我需要一種方式告訴ASP.NET「在當前會話中重新定向並在重定向到頁面之前/之後重新開始一個全新的會話」。讓會話在ASP.NET中優雅過期
這裏就是我想要做的事:
1)當會話在ASP.NET應用程序的主網頁(或Global.asax中)已過期檢測。
2)如果會話過期,將用戶重定向到一個頁面,告訴他們他們的會話已過期。在此頁面上,它將等待5秒鐘,然後將用戶重定向到應用程序的主頁面,或者如果他們願意,他們也可以點擊鏈接以更早到達那裏。
3)用戶到達主頁面並重新開始使用該應用程序。
好的,到目前爲止,我已經覆蓋了步驟1和2。我有一個通過使用IsNewSession屬性和ASP.NET會話ID cookie值檢測會話過期的函數。如果它檢測到重定向的過期會話,請等待5秒鐘,然後嘗試轉到主頁面。
問題是,當它嘗試重定向時,它會到達母版頁中的部分以檢測到期的會話並返回true。我試過調用Session.Abandon(),Session.Clear(),甚至將會話設置爲NULL,但沒有運氣。
以前有人曾經遇到過這個問題,所以我對社區有信心有一個很好的解決方案。提前致謝。
我不知道爲什麼你有一個問題,爲什麼要高度重視請求主頁時IsNewSession是真實的。到那時你已經有一個請求到某個頁面,然後請求「Session expired」,然後到主頁面。爲什麼IsNewSession仍然是真的? – AnthonyWJones 2009-02-03 22:32:10