Junior — Middle
Cum se determină perioada de existență a unui obiect după implementarea sa prin mecanismul de Injectare a Dependențelor?
sobes.tech AI
Răspuns de la AI
Durata de viață a unui obiect creat prin Dependency Injection (DI) este determinată de timpul de viață (lifetime), care este stabilit la înregistrarea serviciului în containerul DI. În C# (de exemplu, în ASP.NET Core), există trei tipuri principale de timp de viață:
- Transient — o nouă instanță este creată la fiecare solicitare de serviciu.
- Scoped — o instanță este creată pe domeniu (de exemplu, pe solicitare HTTP) și reutilizată în cadrul acestui domeniu.
- Singleton — o instanță este creată la prima solicitare și trăiește până la încheierea aplicației.
Exemplu de înregistrare:
services.AddTransient<IMyService, MyService>();
services.AddScoped<IMyService, MyService>();
services.AddSingleton<IMyService, MyService>();
Prin urmare, durata de viață a obiectului depinde de timpul de viață ales la înregistrare în containerul DI.