2010-08-12 89 views
1

當用戶轉到登錄頁面時,我想檢測他們的會話是否超時並被重定向到此頁面,因此可以顯示友好的消息。檢測會話超時/區分首次訪問和會話超時

我設置isTimeout = true時,會話是一個新的會話,當cookie [「ASP.NET_SessionId」]不爲空。但是,如果是第一次訪問,isTimeout也被設置爲true。我如何區分第一次訪問與超時?

在此先感謝!

回答

1

在您的Global.asax有一種方法稱爲Session_End來處理這一點。

你可以使用它來添加你需要的任何功能。如將TempData [「IsTimeout」]設置爲true(如果您使用的是ASP.NET MVC)。然後這將持續超過重定向,並可在您的登錄視圖中訪問。它將會被銷燬。

E.g.在你的Global.asax.cs

protected void Session_End(Object sender, EventArgs e) 
{ 
    TempData["IsTimeout"] = true; 
} 

在你的日誌中查看:

<%: ((bool)(TempData["IsTimeout"] ?? false)) ? "For security reasons you were timed out, please log in again" : "" %>