Asp.net成员资格已登录用户列表
我在我的应用程序中使用以下命令来查找已登录用户的列表。它给出了已登录用户的列表,但当我关闭浏览器并清除浏览器历史记录时,它会显示用户isonline状态true。谁能告诉我哪里错了吗 当用户登录验证用户并重定向到url时,Asp.net成员资格已登录用户列表,asp.net,Asp.net,我在我的应用程序中使用以下命令来查找已登录用户的列表。它给出了已登录用户的列表,但当我关闭浏览器并清除浏览器历史记录时,它会显示用户isonline状态true。谁能告诉我哪里错了吗 当用户登录验证用户并重定向到url时, if (user != null) { if (Membership.ValidateUser(user.UserName, txtUserPassword.Text)) { FormsAuthentication.SetAuthCooki
if (user != null)
{
if (Membership.ValidateUser(user.UserName, txtUserPassword.Text))
{
FormsAuthentication.SetAuthCookie(txtUserName.Text, false);
}
}
登录用户代码列表
MembershipUserCollection allUsers = Membership.GetAllUsers();
MembershipUserCollection filteredUsers = new MembershipUserCollection();
bool isOnline = true;
foreach (MembershipUser user in allUsers)
{
// if user is currently online, add to gridview list
if (user.IsOnline == isOnline)
{
filteredUsers.Add(user);
}
}
使用以下链接:
使用以下链接:
我不知道你为什么投了反对票,这是一个有效的问题。你也可能永远看不到这个答案,但其他人可能也有同样的问题
MembershipUser.IsOnline
并不能非常准确地检查用户是否在线。根据,用户被确定为在线:
如果当前日期和时间减去
UserIsOnlineTimeWindow属性值早于
用户的LastActivityDate
这意味着用户可以在10秒后登录并注销,但仍被视为在线
因此,在您的情况下,您登录、检查计数、注销、关闭浏览器、清除缓存等,但用户的LastActivityDate
仍在上述假定窗口内。您可以做的是:
- 缩短时间窗口(这会产生一些不必要的方面 (效果)
- 注销个人时,将其
更新为 使上述检查无效的时间(例如,当前时间LastActivityDate
)UserIsOnlineTimeWindow
- 在某些关键点手动更新
(例如。, 如果您的站点是书店,可能会在何时更新LastActivityDate
他们将项目添加到购物车中)LastActivityDate
- 我不知道你为什么投了反对票,这是一个有效的问题。你也可能永远看不到这个答案,但其他人可能也有同样的问题
MembershipUser.IsOnline
并不能非常准确地检查用户是否在线。根据,用户被确定为在线:
如果当前日期和时间减去
UserIsOnlineTimeWindow属性值早于
用户的LastActivityDate
这意味着用户可以在10秒后登录并注销,但仍被视为在线
因此,在您的情况下,您登录、检查计数、注销、关闭浏览器、清除缓存等,但用户的LastActivityDate
仍在上述假定窗口内。您可以做的是:
- 缩短时间窗口(这会产生一些不必要的方面 (效果)
- 注销个人时,将其
更新为 使上述检查无效的时间(例如,当前时间LastActivityDate
)UserIsOnlineTimeWindow
- 在某些关键点手动更新
(例如。, 如果您的站点是书店,可能会在何时更新LastActivityDate
他们将项目添加到购物车中)LastActivityDate