SignalR: So erfassen Sie Client-Informationen nach dem Recycling des App-Pools erneut
-
27-10-2019 - |
Frage
Zum Zeitpunkt der Verbindung ordne ich die Client-ID anderen Client- und Abonnementinformationen zu, die ich in eine statische Variable einbaue.Dies funktioniert einwandfrei, bis der App-Pool recycelt wird oder ich neu kompiliere und dann meine Zuordnungen verliere.
Clientverbindungen bleiben nach dem Recycling des App-Pools bestehen, aber in den Methoden OnConnectAsync () und OnReceivedAsync () wird nichts angezeigt.
Ich sehe in Firebug, dass meine Kunden alle 4 Minuten einen neuen POST senden.Gibt es ein SignalR-Ereignis, das ich überschreiben kann, um den eingehenden POST zu erfassen und meine Clientzuordnung für die aktuell persistenten Verbindungen neu zu erstellen?
Danke.
Lösung
Stellen Sie sicher, dass Sie SignalR 0.4 verwenden.Sie können OnReconnectedAsync verarbeiten.
https://github.com/SignalR/SignalR/wiki/PersistentConnection
HAFTUNGSAUSSCHLUSS: Wenn Sie Ihren Anwendungsstatus in statischen Variablen speichern, kann er in einer Farm niemals skaliert werden (aber vielleicht ist es Ihnen egal).