代码之家  ›  专栏  ›  技术社区  ›  Sessiz Saat

我如何知道我的网站的在线用户

  •  5
  • Sessiz Saat  · 技术社区  · 15 年前

    我正在将Session[“UserID”]的值设置为登录用户的Id,以便知道该用户是谁。但是我想知道所有登录我页面的用户,并显示他们的列表。

    3 回复  |  直到 15 年前
        1
  •  6
  •   Sampson    15 年前

    通常,您会问“如何知道谁在过去x分钟内一直处于活动状态。”

    可以通过向数据库中的用户表中添加几个字段来实现这一点。一个用于lastActivityTime,一个用于lastVisitedLocation。

        2
  •  2
  •   Matt    15 年前

    登录用户的主要问题是,无法保证数字的准确性,如果有人关闭浏览器或关闭浏览器,或断电,您知道他们未登录的唯一方法是会话过期,因此,默认情况下这是20分钟。。。我不太喜欢将这些信息保存到数据库中,虽然它是有效的,但同样的问题仍然存在,您所能准确显示的只是asp.net认为活动的会话数,不一定是仍在使用您的网站的用户数Jonathans的答案是最好的折衷方案,因为它是一个时间点度量,而不是一个保证的数字。

        3
  •  1
  •   tHeSiD    15 年前

    一旦开始使用数据库会话,跟踪就变得容易了,

    在线用户数将只是表中记录的计数

    由于您将在会话表中记录每个已登录用户的记录,因此您也可以获得已登录用户的名称。