Sobes.tech
Junior — Middle

Hogyan határozzák meg egy objektum élettartamát a Dependency Injection mechanizmusán keresztül történő bevezetés után?

sobes.tech MI

Válasz az MI-től

A Dependency Injection (DI) segítségével létrehozott objektum élettartamát a lifetime (élettartam) határozza meg, amelyet a szolgáltatás regisztrálásakor állítanak be a DI-konténerben. C#-ban (például ASP.NET Core-ban) három fő élettartam típus létezik:

  • Transient — minden szolgáltatás kéréskor új példány jön létre.
  • Scoped — egy példány jön létre egy scope-ra (például HTTP kérésre), és ezen belül újra felhasználható.
  • Singleton — egy példány jön létre az első kéréskor, és az alkalmazás végéig él.

Regisztrációs példa:

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

Így az objektum élettartama a regisztráláskor kiválasztott élettartamtól függ a DI-konténerben.