在我的登錄頁面中,我將連接字符串和登錄用戶角色放入會話變量中。爲了檢查會話是否已經過期,我把下面幾行代碼放入其他頁面的page_load事件中。會話變量是否在不同的時間量後過期?
protected void Page_Load(object sender, EventArgs e)
{
if (Session["userRole"])==null
Response.Redirect("Login.aspx");
.........
}
,但我得到Session[conString] is expired
錯誤有時當Web應用程序是閒置了一段時間。現在我想知道不同會話變量的到期時間是否不同。如果沒有,那麼當應用程序檢測到會話過期時,我不應該被重定向到登錄頁面嗎?
嘗試記錄Session [「userRole」]並查看連接字符串到期時記錄的值。實際上,會話變量不會過期,但會話確實如此。 – Kangkan 2013-02-18 08:28:16
如果應用程序由於web.config的更改而重新啓動,或者應用程序池回收,則會話也會丟失。 – 2013-02-18 08:38:11