0

我需要有关 MVC2 应用程序会话超时警告的帮助。当用户在会话超时的“n”分钟内时,应该会出现一个弹出窗口。是否有某种方法可以知道该信息或必须计算该信息。我有标准的获取/发布操作,但也有 AJAX 请求。提前致谢。

4

1 回答 1

1

ASP.NET sessionen在对服务器的最后一次请求后几分钟到期,因此只需了解是什么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,这很重要)。

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

于 2012-09-23T21:20:20.823 回答