2012-02-17 9 views
5

Al momento della connessione, mappo il clientID ad altre informazioni su client e sottoscrizioni che creo in una variabile statica. Funziona bene finché il pool di app non viene riciclato o ricompilato e quindi non riesco a mappare.SignalR: Come riacquistare le informazioni sul client dopo il riciclo del pool di applicazioni

Le connessioni client persistono dopo il riciclo del pool di applicazioni, ma non vedo nulla nei metodi OnConnectAsync() o OnReceivedAsync().

Vedo in Firebug che un nuovo POST viene inviato dai miei clienti ogni 4 minuti. C'è qualche evento SignalR che posso sovrascrivere per acquisire il POST in arrivo e ricostruire il mio mapping client per le connessioni persistenti attuali?

Grazie.

risposta

4

Assicurati di utilizzare SignalR 0.4. È possibile gestire OnReconnectedAsync.

https://github.com/SignalR/SignalR/wiki/PersistentConnection

NOTA BENE: Se si memorizza il tuo stato dell'applicazione in variabili statiche non sarà mai in grado di scalare fuori in una fattoria (ma forse non vi interessa).

+0

Tempo per la cache Redis o Mem? ;-) –

+0

È ancora rilevante per la versione 1.1.2? Abbiamo problemi con SignalR che non sopravvive al riciclaggio del pool di app. – Anders

+0

LongPolling non aumenta la riconnessione lato server sul riciclo del pool di app ma il signalr ricollega perfettamente. – davidfowl

Problemi correlati