【问题标题】:Viewing active users in my ASP.NET web page在我的 ASP.NET 网页中查看活动用户
【发布时间】:2011-08-24 07:04:29
【问题描述】:

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

【问题讨论】:

  • 请显示一些来源...您尝试了什么?什么不起作用?任何错误消息/异常?

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


【解决方案1】:

如果你使用 FormsAuthentication,

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

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

【讨论】:

  • 对,但你是说这不适用于 Windows 或自定义身份验证?
  • @Henk Holterman:我担心 OP 可能只有每个用户的登录名和密码
【解决方案2】:

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

如果您没有使用 FormsAuthentication 并且您不想将登录用户状态保存到数据库,那么我会说您最好的选择是在您的应用程序状态下拥有一个登录用户的集合/列表.因此,当用户登录时,您将它们添加到列表中。比如:

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

然后,在单独的页面上,您可以将网格/中继器等绑定到 Application["loggedUsers"]。

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

或者,如果您有权修改数据库,您可以向用户表(如果有)添加一个字段,指示用户是否登录 - 这将取代将用户存储在应用程序状态。

【讨论】:

  • 不知道我在关注你的问题肉山
  • 您能否提供一些代码来显示您目前正在做什么?
  • 请帮助...我将注册用户存储到数据库 db_register 我想在他们登录时将每个用户 ID 存储到一个数组中我如何将每个用户 ID 存储到一个数组中
猜你喜欢
  • 2011-06-24
  • 1970-01-01
  • 2023-03-04
  • 2011-03-19
  • 2018-11-04
  • 1970-01-01
  • 1970-01-01
  • 2010-12-15
  • 2012-02-26
相关资源
最近更新 更多