![](/img/trans.png)
[英]How to get hold of the right SignalR hub in other part of application?
[英]How to set Application Variable in SignalR Hub class?
首先,我知道我們無法在SignalR
訪問會話變量和應用程序變量。 但是我的要求是我想通過SignalR OnConnect()
和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中使用Application變量-所以我的問題是如何在Login.aspx.cs
或任何其他.aspx.cs
頁面中訪問_userCount
變量。 我可以從SignalR Hub調用任何服務器方法嗎?
任何幫助將不勝感激 !
謝謝
公開您的_userCount變量,並將SampleHub類的引用添加到Login.aspx.cs或您想要的任何其他CS頁面中,並訪問_userCount變量。
public static int _userCount=0;
在Login.aspx.cs頁面上,像這樣使用它:
int usercount = SampleHub._userCount;
希望這個能對您有所幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.