Service Lifetimes

Singleton

Viene creata una nuova istanza all’avvio dell’applicazione ed ogni richiesta successiva, per qualsiasi client, riceverà la medesima istanza.

Scoped

Viene creata una nuova istanza per connessione. Se nell’ambito della connessione due classi richiedono il medesimo servizio riceveranno la medesima istanza.

Transient

Viene creata una nuova istanza ogni volta che c’è una richiesta. Se due classi richiedono il medesimo servizio, anche all’interno della medesima connessione, riceveranno una nuova istanza.


Differenze tra Client e Server Side

Da Chris Saint - Services Lifetimes in Blazor

Client Side (WebAssembly)

Operation Singleton Scoped Transient
Load home page e353550e bed089e5 d748aa15
Navigate to counter page e353550e bed089e5 48fc9930
Reload the page 9d1dd585 273eb2da 5ebd1782
Open app in new incognito tab 369fc493 657f12a9 903983b4

Server Side

Operation Singleton Scoped Transient
Load home page e353550e bed089e5 d748aa15
Navigate to counter page e353550e bed089e5 48fc9930
Reload the page e353550e 273eb2da 5ebd1782
Open app in new incognito tab e353550e 657f12a9 903983b4