Junior — Middle
Ako sa určuje doba existencie objektu po jeho zavedení prostredníctvom mechanizmu Dependency Injection?
sobes.tech AI
Odpoveď od AI
Dĺžka života objektu vytvorenému pomocou Dependency Injection (DI) sa určuje časom života (lifetime), ktorý sa nastaví pri registrácii služby v DI kontajneri. V C# (napríklad v ASP.NET Core) existujú tri hlavné typy času života:
- Transient — nový inštancia sa vytvorí pri každom požiadavku služby.
- Scoped — jedna inštancia sa vytvorí pre oblasť (napríklad pre HTTP požiadavku) a znovu sa použije v rámci tejto oblasti.
- Singleton — jedna inštancia sa vytvorí pri prvej požiadavke a žije až do ukončenia aplikácie.
Príklad registrácie:
services.AddTransient<IMyService, MyService>();
services.AddScoped<IMyService, MyService>();
services.AddSingleton<IMyService, MyService>();
Takže, dĺžka života objektu závisí od zvoleného času života pri registrácii v DI kontajneri.