Junior — Middle
Asılılıq İnteqrasiyası mexanizmi vasitəsilə tətbiq edildikdən sonra obyektin mövcudluq müddəti necə müəyyən edilir?
sobes.tech Süni İntellekt
AI-dan cavab
Dependency Injection (DI) vasitəsilə yaradılmış obyektin həyat müddəti, DI konteynerində xidməti qeydiyyata alarkən təyin olunan həyat müddəti (lifetime) ilə müəyyən edilir. C#-da (məsələn, ASP.NET Core-da) üç əsas həyat müddəti növü mövcuddur:
- Transient — hər xidmət sorğusunda yeni nümunə yaradılır.
- Scoped — bir nümunə sahə üçün (məsələn, HTTP sorğusu üçün) yaradılır və bu sahə daxilində təkrar istifadə olunur.
- Singleton — ilk sorğuda bir nümunə yaradılır və tətbiqin sonuna qədər yaşayır.
Qeydiyyat nümunəsi:
services.AddTransient<IMyService, MyService>();
services.AddScoped<IMyService, MyService>();
services.AddSingleton<IMyService, MyService>();
Beləliklə, obyektin həyat müddəti, DI konteynerində qeydiyyat zamanı seçilən həyat müddətindən asılıdır.