如何在母版页的用户控件中显示谁在线?

时间:2009-10-20 11:32:30

标签: c# asp.net

我需要获取我网站的在线用户,并在转发器中显示在线用户名称。

reapeter将在用户控件中。

如何吸引在线用户?

请帮忙。

4 个答案:

答案 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分钟内没有过来,因此该会话现在应该已过期。