ASP.NET MVC2实现会话超时警告



我需要有关MVC2应用程序会话超时警告的帮助。当用户在会话超时的"n"分钟内时,应出现弹出窗口。有没有办法知道这些信息或这些信息必须经过计算。我有标准的获取/发布操作,但也有AJAX请求。提前谢谢。

ASP.NET会话在向服务器发出最后一个请求后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,这很重要)来自动扩展会话。

修改此代码以使用固定的警报期或计算"剩余分钟数"是留给读者的练习。

最新更新