如何获取我的应用程序特定页面中的用户数

How to get the number of users in particular page of my application

我在 dnn 7.4 中创建了一个应用程序,我需要你的帮助,任何人都可以提供一个想法, 我如何获得使用特定页面的用户数量或我网站的特定页面中的用户数量。

提前致谢

您可以在页面中添加静态变量。

  static int userCount= 0;

    protected void Page_Load(object sender, EventArgs e)
    {
        if(!IsPostBack())
            userCount++;
    }

后面的 Aspx 代码只不过是 IHttpHandler,它在启动 w3wp 进程时加载...因此静态变量将在加载 class 后立即初始化,即在这种情况下,当应用程序启动时将运行整个应用范围

注意:上面的 coe 会给你访问该页面的用户数..但是你必须做类似的事情......在页面卸载时你可以将静态递减为变量以获得页面上的当前用户

protected void Page_Unload(object sender, EventArgs e)
{
   userCount--;
}

要获得当前查看页面的真实准确的用户数量,您需要一些东西来保持到服务器的通道或每秒左右从客户端向服务器发送 "ping of life"。
您可以使用 AJAX 单独实现它,也可以使用像 SignalR 这样的框架 - 请参阅这些示例:

Get the number of users that are online using SignalR
Tracking Online Users with SignalR