1

首先我知道我们不能在SignalR. 但我的要求是我想增加或减少来自 SignalROnConnect()OnDisconnect()方法的当前登录用户数。我已经使用下面的代码做了。

SignalR 集线器类:-

public  class  SampleHub : Hub
{
     // Use this variable to track user count
     private  static  int _userCount = 0;

     // Public hub methods  
    :

     // Overridable hub methods  
     public  override Task OnConnected()
    {
       _userCount ++; // this I want to set in Application variable
    }
     public  override Task OnReconnected()
    {
        _userCount ++; // this I want to set in Application variable
    }
     public  override Task OnDisconnected(bool stopCalled)
    {
       _userCount --; // this I want to set in Application variable
    }
}

_userCount变量中设置值后 当另一个用户登录系统时。在登录按钮单击事件中我要检查if _userCount >= 11然后显示消息

“您已达到最大并发用户登录限制!”

但我无法在 SignalR 中使用应用程序变量 - 所以我的问题是如何访问_userCount变量Login.aspx.cs或任何其他.aspx.cs页面。我可以从 SignalR Hub 调用任何服务器方法吗?

任何帮助将不胜感激 !

谢谢你

4

1 回答 1

2

公开您的 _userCount 变量并将 SampleHub 类的引用添加到 Login.aspx.cs 或您想要访问的任何其他 cs 页面并访问您的 _userCount 变量。

public static int _userCount=0;

在 Login.aspx.cs 页面上像这样使用它:

int usercount = SampleHub._userCount;

希望对你有帮助

于 2017-03-09T06:52:37.873 回答