2012-11-09 7 views
7

Ich habe einen Chat-Raum mit SignalR Hub für seine Messaging. Gelegentlich bekomme ich Berichte von Benutzern, wo es "einfriert". Jetzt kann dies so interpretiert werden, dass keine Nachrichten durchkommen, vermute ich, da sie aus einer Gruppe gelöscht wurden.Werden Gruppenabonnements bei Reconnect automatisch behandelt?

Meine Frage ist, wird die Verbindung automatisch wieder in seine Gruppen bekommen neu abonniert, oder haben Sie selbst etwas in der Reconnect-Methode zu tun haben:

public Task Reconnect(IEnumerable<string> groups) 
{ 
     return Clients.rejoined(Context.ConnectionId, DateTime.Now.ToString()); 
} 

Antwort

5

Ja, in 1.0.0.0-alpha1 Sie kann die automatische Wiederverbindung von Gruppen aktivieren, indem das neue Pipeline-Modul AutoRejoiningGroupsModule mit der Erweiterungsmethode für die von Ihnen erstellte Hub-Pipeline verwendet wird. Diese Funktion war in früheren Versionen des Frameworks nicht verfügbar.

So würden Sie mit dieser irgendwo in Ihrem Startcode am Ende:

GlobalHost.HubPipeline.EnableAutoRejoiningGroups(); 

UPDATE:

Bitte beachten Sie, dass die endgültige Version von SignalR 1.0 Auto-Wiederverknüpfung von Gruppen des Standardverhalten gemacht und so wurde EnableAutoRejoiningGroups entfernt. Sie können this answer für weitere Details sehen.

+0

Hijacking mit einer Bonusfrage: Sollte ich daran denken, Leute aus Gruppen wieder zu entfernen oder klärte sie sich selbst auf, wenn die connectionids getrennt werden? –

+2

Sie werden gelöscht, wenn Sie die Verbindung trennen. – davidfowl

+1

'EnableAutoRejoiningGroups()' ist nicht mehr verfügbar, und automatische Wiederaufnahme ist das Standardverhalten gemäß http://stackoverflow.com/questions/14967575/enableautorejoininggroups-disappeared-in-signalr-1-0 –

Verwandte Themen