0
我需要關於我的MVC2應用程序會話超時警告的幫助。當用戶處於會話超時的「n」分鐘內時,應該出現彈出窗口。是否有某種方法可以知道這些信息,或者需要進行計算。我有標準的get/post操作,但也有AJAX請求。提前致謝。ASP.NET MVC2實現會話超時警告
我需要關於我的MVC2應用程序會話超時警告的幫助。當用戶處於會話超時的「n」分鐘內時,應該出現彈出窗口。是否有某種方法可以知道這些信息,或者需要進行計算。我有標準的get/post操作,但也有AJAX請求。提前致謝。ASP.NET MVC2實現會話超時警告
ASP.NET sessione在向服務器發送最後一次請求後過期n
分鐘,因此只需知道n
是什麼,將其呈現給頁面,並使用簡單的Javascript計時器在適當時顯示消息,像這樣:
<sctipt type="text/ecmascript">
var timeoutMins = <%= Session.Timeout %>; // HttpSessionstate.Timeout is the timeout period in minutes
setTimeout(informUser, 0.75 * (timeoutMins * 60 * 1000));
function informUser() {
alert("Your session is expiring shortly");
}
</script>
的0.75 * (timeoutMins * 60 * 1000)
部分轉換的超時長度值到毫秒,然後縮放下來給用戶的時間作出反應。您可以通過向服務器發送AJAX請求(使用當前的ASP.NET會話cookie,這很重要)來自動擴展會話。
修改此代碼以使用固定警報期或計算「分鐘數」圖是讀者留下的練習。
這是一個很好的開始,在某些應用程序中可能是合適的,但應該注意的是它不支持滑動過期(http://msdn.microsoft.com/zh-cn/library/system.web。 configuration.formsauthenticationconfiguration.slidingexpiration.aspx),通過AJAX請求更新會話,或打開多個選項卡/窗口的情況。 –