Sobes.tech
Junior — Middle

Dependency Injection механизми аркылуу объекттин иштөө мөөнөтү кандай аныкталат?

sobes.tech AI

AIден жооп

Dependency Injection (DI) аркылуу түзүлгөн объекттин жашоо мөөнөтү, DI контейнеринде кызматты каттоо учурунда белгиленген жашоо мөөнөтү (lifetime) менен аныкталат. C#да (мисалы, ASP.NET Coreдо) үч негизги жашоо мөөнөтү түрү бар:

  • Transient — ар бир кызмат суранычта жаңы үлгү түзүлөт.
  • Scoped — бир үлгү аянтча үчүн (мисалы, HTTP сураныч үчүн) түзүлөт жана ошол аянтча ичинде кайра колдонулат.
  • Singleton — бир үлгү биринчи суранычта түзүлөт жана колдонмонун аяктарына чейин жашайт.

Каттоо мисалы:

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

Ошентип, объекттин жашоо мөөнөтү DI контейнеринде каттоо учурунда тандалган жашоо мөөнөтүнө көз каранды.