Die Wiederverwendung derselben Verbindung in signalR während der Navigation durch die verschiedenen Seiten
Habe ich ein MVC-Projekt, mit mehreren Seiten.
Ich habe einen lang andauernden Prozess, der die updates der client über seine Fortschritte. Dieses update ist jedoch nur gesendet, um einen einzelnen client statt des Rundfunks für alle.
Clients.Client(ConnectionId).sendMessage(msg);
In meinem layout.cshtml, das ist, wie ich eine Verbindung zum hub -
var serverHub = $.connection.notifier;
window.hubReady = $.connection.hub.start(function () { });
Das problem ist, wenn ich navigieren Sie zu einer anderen Seite, ich nicht mehr die Nachrichten empfangen von signalr, weil die Verbindungs-id geändert hat.
Wie soll ich das Problem umgehen, so dass meine signalr-hub kann immer noch das senden von Nachrichten an einen einzelnen client, während der client navigiert von Seite zu Seite.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werden Sie wollen, erstellen Sie eine server-Zuordnung von Nutzern zu Verbindungs-id ist. Siehe: SignalR 1.0 beta connection factory.
Werden Sie wollen, lassen Sie Ihre Benutzer beibehalten Vergangenheit eine OnDisconnected Ereignis und wenn Sie eine Verbindung mit einem anderen Verbindungs-Id können Sie weiterhin Pumpen von Daten zu Ihnen hinunter.
Also der Denkprozess könnte wie folgt Aussehen:
Hinweis: wenn Sie eine Authentifizierungs-Ansatz müssen Sie authentifiziert werden vor Beginn einer Verbindung und die Daten nicht ändern, während der Lebensdauer eines SignalR-Verbindung, es können nur erstellt/geändert, während die Verbindung in den Status getrennt.