Sobes.tech
Back to questions
Junior — Middle
72

Объясните, что означает концепция AddScoped в контексте Dependency Injection в ASP.NET Core.

Answer from AI

sobes.tech AI

В ASP.NET Core концепция AddScoped в Dependency Injection означает, что сервис создаётся один раз на каждый HTTP-запрос и используется повторно в течение этого запроса.

То есть, если у вас есть сервис, зарегистрированный как Scoped, то при обработке одного запроса будет создан один экземпляр этого сервиса, который будет использоваться во всех компонентах, запрашивающих этот сервис в рамках этого запроса.

Это удобно для сервисов, которые должны сохранять состояние или данные только в течение одного запроса, например, для работы с базой данных через контекст.

Пример регистрации сервиса:

services.AddScoped<IMyService, MyService>();

Таким образом, каждый HTTP-запрос получит свой экземпляр MyService, который будет уничтожен после завершения запроса.