我需要获取我网站的在线用户,并在转发器中显示在线用户名称。
reapeter将在用户控件中。
如何吸引在线用户?
请帮忙。
答案 0 :(得分:2)
尝试以下方法:
int i = 0;
foreach (MembershipUser u in Membership.GetAllUsers())
{
if (u.IsOnline)
i++;
}
请注意,这是一种快速简便的方法。使用HttpModules的更复杂方法将是最佳选择。
答案 1 :(得分:0)
您需要跟踪用户数据库中某人何时在线。有一个列,当用户登录时设置为true,当他们注销或会话过期时设置为false。要找出谁在线,只需查询您的用户数据库并找到将此标志设置为true的用户。
答案 2 :(得分:0)
您应该保留一个全局列表,并在每个应用程序的会话开始和会话结束事件中添加和删除该列表
答案 3 :(得分:0)
无论您使用哪种方式跟踪在线用户,该列表都将过时。服务器只知道正在处理的请求,而不知道此后在浏览器中发生的事情。
当用户离开您的网站或关闭他/她的浏览器时,您不能(至少也不可靠)注意到。您只能注意到用户在过去20分钟内没有过来,因此该会话现在应该已过期。