我在 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 是否也被视为一项事件。

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

像这样:

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

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

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

10-11 20:31