我正在使用自己的系统来处理用户身份验证,数据库在 mysql 中维护。
现在,当我看到类似的东西时
System.Web.Security.Membership.GetNumberOfUsersOnline()
我想知道如何使用 mysql 获取用户数。我在 web.config 中设置了一个已生成所有表的数据库,但当我调用此预定义函数时,我仍然得到 0
。
现在,我在 mysql 中有一个单独的数据库来维护角色。它之所以有效,是因为它们已经生成了表格。现在我想知道如何获得所有用户的计数,包括匿名用户。
您可以尝试将其添加到您的 global.asax 中:
void Application_Start(object sender, EventArgs e) {
Application["OnlineUsers"] = 0;
}
void Session_Start(object sender, EventArgs e) {
Application.Lock();
Application["OnlineUsers"] = (int)Application["OnlineUsers"] + 1;
Application.UnLock();
}
void Session_End(object sender, EventArgs e) {
Application.Lock();
Application["OnlineUsers"] = (int)Application["OnlineUsers"] - 1;
Application.UnLock();
}
我在这里找到的:
http://aspdotnetfaq.com/Faq/How-to-show-number-of-online-users-visitors-for-ASP-NET-website.aspx
这基本上告诉您当前有多少 session 在您的应用程序中处于事件状态,而不管它们是否已登录。您可以修改它以包含有关确切哪些用户已登录的详细信息,并且它独立于您用于成员(member)资格的任何系统。