Junior — Middle
90
Dependency Injection арқылы енгізілгеннен кейін объектінің өмір сүру ұзақтығы қалай анықталады?
Сұралған компаниялар
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-контейнере.