Back to questions
OZON
Junior — Middle
72
Как определяется срок существования объекта после его внедрения через механизм Dependency Injection?
Companies where asked
Answer from 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-контейнере.