Вступить в клуб →
лёгкаявопросC# и ASP.NET Core

Что означает AddScoped в ASP.NET Core Web API

В Program.cs сервиса на ASP.NET Core есть регистрации:

builder.Services.AddScoped<IOrderRepository, OrderRepository>();
builder.Services.AddSingleton<IPriceCache, PriceCache>();

В обработке одного HTTP-запроса IOrderRepository внедряется в контроллер и ещё в два сервиса, которые контроллер вызывает.

Какое утверждение о времени жизни OrderRepository верно?

  • Все три места получат один и тот же экземпляр, а на следующий запрос будет создан новый
  • Каждое внедрение создаст отдельный экземпляр — так же, как при AddTransient: Scoped управляет только моментом вызова Dispose
  • Экземпляр будет создан один раз на всё время работы приложения, как у PriceCache
  • Экземпляр создаётся один на поток и переиспользуется всеми запросами этого потока

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела