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 |