Sobes.tech
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.