membership - 退出后,MembershipUser.IsOnline 甚至是 true

  显示原文与译文双语对照的内容
0 0

我目前使用Visual Studio 2010创建网站。 我在SQL Server 2008中使用默认的会员架构来验证用户身份。 现在我也面临以下问题。

当用户注销时,该用户的成员资格.IsOnline属性应设置为false 。 但是它还没有实施,该用户的成员资格.IsOnline属性仍然为真。

我在用LoginStatus控制向用户提供一个注销链接。

我试着按照 User .IsOnline = true,即使FormsAuthentication .SignOut( ) 。? 但结果什么都不是

时间:原作者:1个回答

0 0

afaIK,FormsAuthentication .SignOut Membership系统没有直接关系。 因此,你必须更新cloud LastActivityDate手动为你在发言中提到的问题。 并使用 Membership .UserIsOnlineTimeWindow 而不是2 。

从MSDN

在调用GetNumberOfUsersOnline UserIsOnlineTimeWindow属性值检查。 如果某个用户的LastActivityDate大于当前日期和时间减去UserIsOnlineTimeWindow值( 分钟),则该用户被视为联机。 你可以确定成员资格用户被视为处于联机状态,并且IsOnline MembershipUser的属性类。

MembershipUser user = Membership.GetUser(false);
FormsAuthentication.SignOut();
user.LastActivityDate = DateTime.UtcNow.AddMinutes(-(Membership.UserIsOnlineTimeWindow + 1));
Membership.UpdateUser(user);
原作者:
...