Junior — Middle
Dependency Injection mexanizmi orqali joriy etilgandan so'ng ob'ektning mavjudlik muddati qanday aniqlanadi?
sobes.tech AI
AIdan javob
Dependency Injection (DI) orqali yaratilgan ob'ektning hayot davomiyligi, DI konteynerida xizmatni ro'yxatdan o'tkazishda belgilangan hayot davri (lifetime) bilan belgilanadi. C#da (masalan, ASP.NET Coreda) uchta asosiy hayot davri turlari mavjud:
- Transient — har xizmat so'rovi uchun yangi nusxa yaratiladi.
- Scoped — bir nusxa doira (masalan, HTTP so'rovi) uchun yaratiladi va bu doira ichida takror ishlatiladi.
- Singleton — bir nusxa birinchi so'rovda yaratiladi va ilova tugaguncha yashaydi.
Ro'yxatga olish misoli:
services.AddTransient<IMyService, MyService>();
services.AddScoped<IMyService, MyService>();
services.AddSingleton<IMyService, MyService>();
Shunday qilib, ob'ektning hayot davomiyligi DI konteynerida ro'yxatdan o'tkazishda tanlangan hayot davriga bog'liq.