Sobes.tech
Middle
154

Что такое область видимости 'scoped' в C#?

Answer from AI

sobes.tech AI

В C# и особенно в ASP.NET Core область видимости scoped относится к времени жизни сервисов, зарегистрированных в контейнере внедрения зависимостей (DI). Сервис с областью scoped создаётся один раз на каждый запрос (например, HTTP-запрос) и используется повторно в течение этого запроса. После завершения запроса экземпляр сервиса уничтожается.

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

Пример регистрации сервиса с областью scoped:

services.AddScoped<IMyService, MyService>();

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