c# - 如何计算我的应用程序中的在线用户数?

标签 c# mysql asp.net-mvc

<分区>

我正在使用自己的系统来处理用户身份验证,数据库在 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)资格的任何系统。

关于c# - 如何计算我的应用程序中的在线用户数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8687066/

相关文章:

c# - Installer工程多次打包文件

mysql - 如何使用 perl DBI 检索 MySQL 函数定义?

javascript - 根据 mvc 中的模型属性禁用启用下拉列表

c# - 如何使用带有复选框和下拉菜单的自动回发?

C# Entity Framework 添加到多对多表

c# - Entity Framework 4.1 Code First 和 Oracle CLOB

php - 从当前id获取上一行和下一行数据 SQL PHP

mysql - fatal error : Call to a member function query() on a non-object on line 7

c# mvc 如何将根 url 映射到特定 View

c# - 畸形字符串异常 Firebird + linq