asp.net - 即使在 FormsAuthentication.SignOut() 之后 User.IsOnline = true

标签 asp.net asp.net-mvc asp.net-membership

我在 web.config 中设置了 UserIsOnlineTimeWindow ="2",然后我的 logout() 函数已修改为

public ActionResult LogOff()
    {

        MembershipUser usr = Membership.GetUser();
        usr.LastActivityDate = DateTime.Now.AddMinutes(-2);
        FormsAuthentication.SignOut();
        return RedirectToAction("Index", "Home");
    }

注销后返回主页后仍然是 User.IsOnline = true

仅在空闲时间 2 分钟后 User.IsOnline = false

如何在 FormsAuthentication.SignOut() 中使用户离线;请帮忙。

最佳答案

不确定退出是否也被视为一项事件。

我建议您在 SignOut 方法之后设置 LastActivityDate。并且不要忘记更新用户信息。

像这样:

MembershipUser usr = Membership.GetUser(false);
FormsAuthentication.SignOut();
usr.LastActivityDate = DateTime.Now.AddMinutes(-2);
Membership.UpdateUser(usr);

我刚刚在我的应用程序中进行了测试,它有效。

关于asp.net - 即使在 FormsAuthentication.SignOut() 之后 User.IsOnline = true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9918033/

相关文章:

C# MVC 模型验证时间

asp.net-membership - .Net 登录 onloggedin,User.Identity 是否为空?

asp.net-mvc - Webforms 与 Asp.Net MVC VS2010 负载测试

asp.net - 如何在aspx页面中查找用户控件的id

c# - 如何更改 CreateUserWizard 控件的布局?

javascript - on 不像 jQuery 中的 live 那样处理事件

c# - 如何从 DataAnnotations 获取 StringLength

asp.net-membership - ASP.NET MVC4 中的 WebSecurity 与 FormsAuthentication

f# - 尾递归函数的 System.OutOfMemoryException

ASP.net WebForms 无扩展 URL