Sobes.tech
Junior — Middle
85

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

Компании, где спрашивали
OZONOZON

Ответ от нейросети

sobes.tech 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-контейнере.