在我的ASP.NET項目中,我使用「進程內」會話狀態的會話管理和當前的過期時間設置爲 -ASP.NET「是InProc」超時 - 在年底執行JavaScript代碼
<sessionState mode="InProc" timeout="1" ></sessionState>
即會話超時是1分鐘。
在「空閒」1分鐘結束時,應用程序被重定向到會話過期的視圖或頁面。
在這個重定向發生之前,我想在同一個控制器上下文中執行一些javascript代碼。這裏的另一個要點是會話過期代碼除了框架的內置機制之外,還從其他地方調用。
我試着創建一個javascript'poll'函數來檢查會話超時,然後在會話失效時執行一些操作,但是這樣做是在每次xhr調用時都會重新驗證會話。
基本思想是通過某種機制向JavaScript代碼通知會話超時。代碼庫是一個現有的代碼庫,對於像我這樣的新開發的.NET開發人員來說,它是相當大的。
任何幫助表示讚賞。
如果您在當前會話時間內與服務器進行任何交互,該會話將始終進一步擴展。這一切都必須在客戶端沒有任何電話到服務器 – haraman
看看['onbeforeunload'事件](http://www.w3schools.com/jsref/event_onbeforeunload.asp)。這可能是你需要的。 –
@haraman - 你是對的。任何對服務器的調用都會延長會話。爲了在客戶端完成這一切,我必須在客戶端引入一個「空閒」檢查邏輯,這與服務器已經在做的事情不同。不知道這是否是正確的解決方案。 – FrailWords