【问题标题】:How can I know online users of my web site我如何知道我网站的在线用户
【发布时间】:2009-08-18 13:47:58
【问题描述】:

我将 Session["UserID"] 的值设置为登录用户的 ID,这样我就可以知道用户是谁。但我想知道所有用户登录我的页面,并显示他们的列表。

【问题讨论】:

    标签: c# asp.net session


    【解决方案1】:

    通常,您会问“如何知道最近 x 分钟内谁活跃”。

    在每个页面条目上记录他们的最后活动时间,然后查询该列表以查看过去几分钟内谁是活动的。您可以扩展它并记录他们访问的最后一页,以了解有多少人在线,以及有多少人在特定页面上。

    您可以通过在数据库中的用户表中添加几个字段来做到这一点。一个用于 lastActivityTime,一个用于 lastVisitedLocation。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        您可以使用数据库会话,然后使用它来跟踪登录用户, 一旦您开始使用数据库会话跟踪变得容易,

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

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

        【讨论】:

          猜你喜欢
          • 2020-02-10
          • 2011-10-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-11-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多