在我的ASP.NET网页中查看活动用户

时间:2011-08-24 07:04:30

标签: c# asp.net .net-3.5

我将注册用户存储到数据库db_register 我想在他们登录时将每个用户的id存储到一个数组中 如何将每个用户ID存储到数组中?

2 个答案:

答案 0 :(得分:3)

如果您使用的是FormsAuthentication,

  1. 您将获得Membership.GetAllUsers();
  2. 的所有用户
  3. 返回MembershipUserCollection
  4. 在该集合上枚举MembershipUser
  5. 您将看到名为MembershipUser.IsOnline
  6. 的布尔属性

    在GridView中填充该集合,您可以看到所有在线用户。

答案 1 :(得分:0)

您可以通过多种方式实现这一目标,并且我认为您需要提供更多关于如何控制登录等的详细信息。

如果您没有使用FormsAuthentication,并且您不想将登录的用户状态持久保存到数据库,那么我认为您最好的选择是在应用程序状态中拥有已登录用户的集合/列表。因此,当用户登录时,您将它们添加到列表中。类似的东西:

(List<string>)(Application["loggedUsers"]).Add(loggedonusername);

然后,在seprate页面上,您可以将网格/转发器等绑定到Application [“loggedUsers”]。

当用户注销或其会话结束时,您将从应用程序状态中删除该条目。

或者,如果您有权修改数据库,则可以在User表中添加一个字段(如果有的话),表示用户是否已登录 - 这将取代将用户存储在应用程序状态。< / p>