2016-09-12 1 views
1

J'ai configuré un exemple de concentrateur SignalR, ChatHub, ajouté une liste de connexions. Quand il fonctionne OnConnected, je vois qu'il est ajouté à la liste. Cependant, lorsque j'ouvre cette page dans un autre navigateur (en attendant que la liste ait 2 connexions maintenant, je vois 0 connexions dans ma liste). Est-ce que ChatHub est instancié par requête?La connexion SignalR 2 n'est pas persistante

List<string> connections = new List<string>(); 
    public override Task OnConnected() 
    { 
     connections.Add(Context.ConnectionId); 
     return base.OnConnected(); 
    } 

Répondre

1

Oui, une instance de concentrateur est créée pour chaque requête.

specifically:

Vous n'instancier pas la classe Hub ou appelez ses méthodes à partir de votre propre code sur le serveur; tout ce qui est fait pour vous par le pipeline SignalR Hubs . SignalR crée une nouvelle instance de votre classe Hub chaque fois que il doit gérer une opération Hub comme lorsqu'un client se connecte, se déconnecte ou effectue un appel de méthode au serveur.