我希望在用户仍然活跃时重置会话超时时间。
在我的场景中,我的会话超时时间为20分钟。当会话时间在最后10秒到达时,我会显示一个对话框来确认用户是否要“保持登录状态?”。如果用户点击“是”,我想从第21分钟开始再次延长20分钟的会话时间,因为根据要求,我正在将用户会话时间保存在数据库表中。
我们可以为会话超时设置计时器吗?
所以,请帮助我,如何重置会话超时时间?
我希望在用户仍然活跃时重置会话超时时间。
在我的场景中,我的会话超时时间为20分钟。当会话时间在最后10秒到达时,我会显示一个对话框来确认用户是否要“保持登录状态?”。如果用户点击“是”,我想从第21分钟开始再次延长20分钟的会话时间,因为根据要求,我正在将用户会话时间保存在数据库表中。
我们可以为会话超时设置计时器吗?
所以,请帮助我,如何重置会话超时时间?
按照以下方式编写jQuery脚本:
(document).ready(function () {
$("#divdialog").dialog({
autoOpen: false,
resizable: false,
modal: true,
title: "Session Timeout",
buttons: {
Yes: function () {
$.ajax({
url: '/<your controller>/SessionTimeout', // Redirects to action method for every 20 minutes.
dataType: "json",
type: "GET",
error: function () {
alert(" An error occurred.");
},
success: function (data) {
$("#divdialog").dialog('close');
display("stop");
}
});
},
Logout: function () {
location.href = '/<your controller>/Logout';
}
}
});
});
function myFunction() { // Fires every 20 minutes
setInterval(function () {
$("#divdialog").dialog('open');
}, 1200000);
}
并在您的控制器中添加操作方法,例如:
public ActionResult SessionTimeout()
{
Session.Timeout = Session.Timeout + 20;
return Json("",JsonRequestBehavior.AllowGet);
}
希望上述技巧对你有所帮助。