我正在尝试创建一个MVC应用程序,该应用程序必须在一段时间后自动超时(比方说2分钟)。我用它在Web.config中设置会话超时:
<sessionState mode="InProc" timeout="2">
</sessionState>
如果会话超时,这是重定向的代码:
<script>
(function (delay) {
function getTimeout() {
return setTimeout(function () {
console.log('Make SESSION expire');
window.location.href = '@Url.Action("Index", "Home")'
}, delay);
};
// start the session timer
var timeoutSession = getTimeout();
$(document).ajaxSend(function() {
console.log('timeout reset');
clearTimeout(timeoutSession);
timeoutSession = getTimeout();
});
})(2*60*1000);
</script>
所有这一切都运行正常,应用程序在完成2分钟的活动后退出。 但是,我遇到的问题是,自动注销后重定向到的登录页面在2分钟后仍然会刷新,即使会话超时后也是如此。当没有会话运行时,你能帮我停止刷新吗?
编辑: 发现问题,我在_layout文件中使用了脚本,导致每个页面都刷新。现在我刚刚登录后将代码用于页面(如第1页所述),并且它已停止刷新。
但是现在,还有另外一个问题,该应用只会从此页面自动注销(第1页)。如果我从第1页(例如第2页)转到其他页面,该应用程序不会从第2页退出。