Asp.net mvc 在MVC web应用程序中,当浏览器或选项卡关闭而不注销时,如何处理会话

Asp.net mvc 在MVC web应用程序中,当浏览器或选项卡关闭而不注销时,如何处理会话,asp.net-mvc,session,c#-4.0,session-variables,Asp.net Mvc,Session,C# 4.0,Session Variables,我正在处理MVCWeb应用程序,因为我想处理会话,如果我们正在关闭选项卡或关闭浏览器,则用户应获得注销,如果用户设置了记住密码,则只有它应获得下次登录的登录 您必须在js中编写对控制器操作的调用代码,以确保会话无效。否则会话将自然超时。唯一稳定的方法是在Global.asax中使用session\u End protected void Session_End(object sender, EventArgs e) { System.Diagnostics.Debug.WriteLine

我正在处理MVCWeb应用程序,因为我想处理会话,如果我们正在关闭选项卡或关闭浏览器,则用户应获得注销,如果用户设置了记住密码,则只有它应获得下次登录的登录

您必须在js中编写对控制器操作的调用代码,以确保会话无效。否则会话将自然超时。

唯一稳定的方法是在Global.asax中使用
session\u End

protected void Session_End(object sender, EventArgs e)
{
    System.Diagnostics.Debug.WriteLine("Session_End");
    FormsAuthentication.Signout();
}

这是一个在用户会话结束时调用的事件处理程序。

会话结束的可能副本很难稳定。。。有许多情况会导致会话_End无法调用,例如当应用程序池被回收时。不能保证它会被调用。