Sobes.tech
Junior — Middle

Как се определя срокът на съществуване на обекта след неговото внедряване чрез механизма за Внедряване на Зависимости?

sobes.tech AI

Отговор от AI

Срокът на съществуване на обекта, създаден чрез Dependency Injection (DI), се определя от времето на живот (lifetime), което се задава при регистрацията на услугата в DI контейнера. В C# (например, в ASP.NET Core) има три основни типа на времето на живот:

  • Transient — нов екземпляр се създава при всяко искане за услуга.
  • Scoped — един екземпляр се създава за област (например, за HTTP заявка) и се използва повторно в рамките на тази област.
  • Singleton — един екземпляр се създава при първото искане и живее до приключването на приложението.

Пример за регистрация:

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

Така, срокът на живота на обекта зависи от избрания времеви период при регистрацията в DI контейнера.