SignalR: come riacquisire le informazioni sul client dopo il riciclo del pool di app
-
27-10-2019 - |
Domanda
Al momento della connessione, associo il clientID ad altre informazioni sul client e sull'abbonamento che creo in una variabile statica.Funziona bene fino a quando il pool di app non si ricicla o non ricompilo e quindi perdo le mie mappature.
Le connessioni client persistono dopo il riciclo del pool di app, ma non vedo nulla nei metodi OnConnectAsync () o OnReceivedAsync ().
Vedo in Firebug che i miei clienti inviano un nuovo POST ogni 4 minuti.C'è qualche evento SignalR che posso sovrascrivere per acquisire il POST in arrivo e ricostruire la mappatura del mio client per le connessioni persistenti correnti?
Grazie.
Soluzione
Assicurati di utilizzare SignalR 0.4.Puoi gestire OnReconnectedAsync.
https://github.com/SignalR/SignalR/wiki/PersistentConnection
DICHIARAZIONE DI NON RESPONSABILITÀ: se memorizzi lo stato dell'applicazione in variabili statiche, non sarà mai in grado di ridimensionarsi in una farm (ma forse non ti interessa).