2010-01-05 58 views
4

例如,我有一個使用jQuery作爲客戶端框架的Web應用程序。現在,大多數頁面都可以通過使用AJAX並通過使用通用處理程序(.ashx)與服務器通信。在ASP.NET中使用ASP.NET GenericHandlers管理會話超時

現在我有一個問題,我問這是什麼是當我的用戶會話到期時處理這些請求的最佳解決方案。

例如,一個用戶登錄,離開瀏覽器15分鐘,然後他按下一個按鈕,這將創建一個請求處理程序,現在從服務器端,當我嘗試讀取一個會話變量,顯然它會爲空(會話已過期)。將用戶重定向回登錄頁面的最佳方式是什麼?

回答

2

我們用稍微不同的方法來解決這種情況。我們沒有試圖讓所有的jQuery調用處理這種錯誤情況,而是使用javascript在客戶端上實現了一個並行超時系統。在ASP.NET會話超時之前的一分鐘,我們在瀏覽器上彈出一個對話框來警告用戶「您一直處於非活動狀態並且即將被註銷,點擊此處保持登錄狀態。」我們在對話中還包括了一點點倒計時。如果他們點擊保持登錄狀態,我們會向服務器發送另一個jQuery調用以重置會話超時。

因此,除非用戶禁用JavaScript(在這種情況下,應用程序無法正常工作),否則在ASP.NET會話超時後,我們無法進行jQuery調用。