我正在尝试使用此jquery函数
检查会话是否每5秒仍然存活setTimeout(IsSessionAlive, 5000);
function IsSessionAlive()
{
$.getJSON('@Url.Action("IsSessionAlive", "Account")', function (isAlive) {
if (!isAlive)
alert(isAlive);
setTimeout(IsSessionAlive, 5000);
});
}
这就是我尝试从服务器
获取会话状态的方法public JsonResult IsSessionAlive()
{
var isA = Request.IsAuthenticated;
return Json(Session["LoggedIn"] != null, JsonRequestBehavior.AllowGet);
}
只是为了测试我在LogOn上执行此操作的代码
Session["LoggedIn"] = true;
Session.Timeout = 1;
我希望它在1分钟不活动后会破坏会话,当我的jquery检查会话时它会发现它为null并且会向用户显示你必须再次输入密码的弹出窗口。 但我从来没有发现会话无效! 有什么想法吗?
答案 0 :(得分:0)
您可以使用jQuery idleTimer plugin&来检测空闲超时。一旦发生超时,就会显示弹出窗口。
示例代码:
// idleTimer() takes an optional argument that defines the idle timeout
// timeout is in milliseconds; defaults to 30000
$.idleTimer(10000);
$(document).bind("idle.idleTimer", function(){
// function you want to fire when the user goes idle
});
$(document).bind("active.idleTimer", function(){
// function you want to fire when the user becomes active again
});
// pass the string 'destroy' to stop the timer
$.idleTimer('destroy');