我在web.config中设置了UserIsOnlineTimeWindow =“2”,然后我的logout()函数被修改为
public ActionResult LogOff()
{
MembershipUser usr = Membership.GetUser();
usr.LastActivityDate = DateTime.Now.AddMinutes(-2);
FormsAuthentication.SignOut();
return RedirectToAction("Index", "Home");
}
在Logout退回Home后仍然是User.IsOnline = true
仅在2分钟的空闲时间后User.IsOnline = false
如何在FormsAuthentication.SignOut()中使用户脱机;请帮忙。
答案 0 :(得分:4)
不确定signOut是否也被视为活动。
我建议你在SignOut方法之后设置LastActivityDate。并且不要忘记更新用户信息。
像这样:MembershipUser usr = Membership.GetUser(false);
FormsAuthentication.SignOut();
usr.LastActivityDate = DateTime.Now.AddMinutes(-2);
Membership.UpdateUser(usr);
我刚刚在我的应用程序中测试过它。