mvc Timeout Session_End
本文关键字:End Session Timeout mvc | 更新日期: 2023-09-27 17:53:58
我有一个MVC应用程序,我想在Session_End事件发生之前将用户重定向到主屏幕?
如果我允许它进入会话结束,那么它只是终止会话,页面不再是活动的
对此有什么想法吗?
如果您的问题背后的想法只是不让会话自动终止,您可以执行以下操作
在你的_Layout。Cshtml,包括一个保持活动ping脚本。我在这里用Razor语法显示-
@{
// Get the session timeout from configuration
var sessionTimeout = (System.Web.Configuration.ConfigurationManager.GetSection("system.web/sessionState") as System.Web.Configuration.SessionStateSection).Timeout;
// Ping interval can just a minute less that the session expiry
var pingInterval = sessionTimeout.AddMinutes(-1.0);
}
<script type="text/javascript">
window.setInterval(function () {
$.ajax('@Url.Content("~")', { async: true, cache: false });
}, @((int)pingInterval.TotalMilliseconds));
</script>
此脚本将在会话到期前一分钟ping您的主页,从而使会话保持活跃。
使用setInterval()
和window.location.replace()
。间隔以毫秒为单位。用你需要的间隔来代替3000。
setInterval(function(){
window.location.replace(http://www.google.com)
}, 3000);
setTimeout
也将是一个可行的选择在这种情况下(@解散)