Sobes.tech
Junior — Middle
90

Dependency Injection арқылы енгізілгеннен кейін объектінің өмір сүру ұзақтығы қалай анықталады?

Сұралған компаниялар
OZONOZON

AI-дан жауап

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