【问题标题】:In MVC web application, how to handle session, when browser or tab is closed without logout在 MVC Web 应用程序中,当浏览器或选项卡在未注销的情况下关闭时如何处理会话
【发布时间】:2014-08-01 02:35:55
【问题描述】:

我正在开发 MVC Web 应用程序,如果我们关闭选项卡或关闭浏览器用户应该注销,我想处理会话,如果用户设置记住密码,那么只有它应该在下次登录时登录。

【问题讨论】:

标签: asp.net-mvc session c#-4.0 session-variables


【解决方案1】:

唯一稳定的方法是在 Global.asax 中使用Session_End

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

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

【讨论】:

  • Session_End 不太稳定...有很多情况会导致 Session_End 不被调用,例如当应用程序池被回收时。不能保证它会被调用。
【解决方案2】:

您必须在 js 中对控制器操作进行调用,以确保会话无效。否则会话自然会超时。

【讨论】:

    猜你喜欢
    • 2014-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    • 2014-10-12
    • 1970-01-01
    相关资源
    最近更新 更多