我希望我的網頁在SessionState超時發生時關閉。這是我的代碼在我的網頁配置:ASP.NET SessionState TimeOut不工作
<system.web>
<sessionState timeout="1" mode="InProc"/>
</system.web>
我設置爲1分鐘用於測試目的。以下是我的Global.asax代碼:
protected void Session_End(object sender, EventArgs e)
{
Response.Redirect("~/LogOut.aspx");
}
我把在標籤上,以檢查會話超時的一個頁面,這是在Page_Load事件中的代碼:
lblSession.Text = "SESSION TIME: " + Session.Timeout.ToString();
當我進入該網站並進入該頁面,標籤顯示SESSION TIME:1,但1分鐘後,我沒有被重定向到LogOut頁面,並且本頁面仍然完全活動並且工作,顯然意味着會話尚未終止。 我在Visual Studio 2008中通過開發服務器工作,所以我看到的有關IIS設置的建議在這個階段似乎沒有相關性。 請幫忙!
該代碼甚至可能會崩潰,因爲響應在此時爲空。 –
可以給我一些幫助,使一個javaScript計時器?謝謝。 –
我使用了一個AJAX計時器。在page_Load中,我將會話超時值放入一個int變量乘以60000,以便以毫秒爲單位計算超時值,然後將該計時器的interval屬性設置爲超時減去2000毫秒,以便計時器在會話超時過去之前觸發一點。這引發了我重定向到LogOut頁面的Timer_Tick事件。它很好地工作。謝謝! –