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.