Sobes.tech
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.