2016-09-12 1 views
1

Ich habe ein Beispiel SignalR Hub, ChatHub, Liste der Verbindungen hinzugefügt. Wenn OnConnected ausgeführt wird, sehe ich, dass es zur Liste hinzugefügt wird. Wenn ich diese Seite jedoch in einem anderen Browser öffne (ich erwarte jetzt, dass die Liste 2 Verbindungen hat, sehe ich 0 Verbindungen in meiner Liste). Wird ChatHub pro Anfrage instanziiert?SignalR 2 Verbindung wird nicht beibehalten

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

Antwort

1

Ja, für jede Anforderung wird eine Hub-Instanz erstellt.

specifically:

Sie instanziiert nicht die Hub-Klasse oder rufen ihre Methoden von Ihrem eigenen Code auf dem Server; Das alles erledigt die SignalR Hubs Pipeline für Sie. SignalR erstellt jedes Mal eine neue Instanz Ihrer Hub-Klasse , die eine Hub-Operation verarbeiten muss, z. B. wenn ein Client eine Verbindung herstellt, trennt oder einen Methodenaufruf an den Server sendet.

Verwandte Themen