Sobes.tech
Junior — Middle

Hoe wordt de levensduur van een object bepaald na de implementatie via het Dependency Injection-mechanisme?

sobes.tech AI

Antwoord van AI

De levensduur van een object dat via Dependency Injection (DI) wordt gemaakt, wordt bepaald door de lifetime, die wordt ingesteld bij het registreren van de service in de DI-container. In C# (bijvoorbeeld in ASP.NET Core) zijn er drie hoofdtypen levensduur:

  • Transient — een nieuw exemplaar wordt bij elke service-aanvraag gemaakt.
  • Scoped — één exemplaar wordt per scope (bijvoorbeeld per HTTP-verzoek) gemaakt en binnen die scope hergebruikt.
  • Singleton — één exemplaar wordt bij de eerste aanvraag gemaakt en blijft bestaan tot het einde van de applicatie.

Voorbeeld van registratie:

services.AddTransient<IMyService, MyService>();
services.AddScoped<IMyService, MyService>();
services.AddSingleton<IMyService, MyService>();

Dus, de levensduur van het object hangt af van de gekozen levensduur bij registratie in de DI-container.