Blazor Circuit
Un Circuit è un’astrazione sopra a SignalR tra il client ed il server per gestire lo stato e lo scopo.
Utilizzo
Ogni Circuit viene creato all’atto della connessione di un nuovo client e determina una referenza all’interno dello spazio di memoria del server.
A differenza delle applicazioni web classiche un’applicazione Blazor Server mantiene lo stato di tutte le connessioni, attraverso i Circuit.
Qualora un client cambi pagina o effettui una chiusura del browser il Circuit è rilasciato correttamente.
Se il client subisce una disconnessione forzata (problemi di rete) il Circuit tenterà di ricollegarsi per un determianto periodo di tempo (retry), fino al fallimento.
Scoped Circuit
Esempio:
User 1 <== SignalR Connection ==> Server Circuit A
User 2 <== SignalR Connection ==> Server Circuit B
Se il server deve fornire informazioni per 2 componenti presenti in una pagina, utilizzerà la medesima connessione Circuit A o B per lo User richiedente.
In questo modo i Circuit sfruttano la loro connessione permanente per abbattere l’overhead necessario delle riconnessioni HTTP classiche.