Tout d'abord, je sais que nous ne pouvons pas accéder à la variable de session et la variable d'application dans SignalR
. Mais mon exigence est que je veux augmenter ou diminuer le nombre d'utilisateurs actuellement connectés à partir de la méthode SignalR OnConnect()
et OnDisconnect()
. Que j'ai déjà fait en utilisant le code ci-dessous.Comment définir la variable d'application dans la classe SignalR Hub?
SignalR Classe Hub: -
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
}
}
Après avoir défini les valeurs dans _userCount
variables Lorsqu'un autre utilisateur connecté dans le système. Dans le bouton de connexion cliquez sur l'événement Je veux vérifier if _userCount >= 11
, puis afficher le message
"VOUS AVEZ ATTEINT LA LIMITE MAXIMALE DE L'UTILISATEUR SIMULTANÉ!"
Mais je ne suis pas en mesure d'utiliser la variable d'application dans SignalR - Alors Ma question est Comment puis-je faire de l'accès de _userCount
variable dans Login.aspx.cs
ou toute autre page .aspx.cs
. Puis-je appeler une méthode de serveur à partir de SignalR Hub?
toute aide sera grandement appréciée!
Merci Vous