Как объяснить AddScoped?

C# / .NETПрактическое применение в проекте, ограничения и типовые ошибки.Dependency Injection, Configuration and LoggingТеорияcsharpdotnetdependency-injection-configuration-and-loggingdi-lifetimesaddscoped

Что хотят услышать интервьюеры:

На собеседовании по AddScoped лучше отвечать через связку: определение → пример → риск → production-ограничение. Обязательно различайте Transient, Scoped и Singleton, особенно lifetime mismatch.

  • Суть: Scoped lifetime создает один экземпляр сервиса на scope, в ASP.NET Core обычно на HTTP-запрос.
  • Где встречается: регистрация сервисов, настройка окружений, логирование, observability и сопровождение приложения.
  • Типичная ошибка: не понимать lifetimes, инжектить scoped в singleton или хранить секреты в коде.
  • Как отвечать: начните с короткого определения, затем приведите пример, назовите ограничение и типичную ошибку.
  • Ожидаемый уровень: Middle. Практическое применение в проекте, ограничения и типовые ошибки.

Ответ:

builder.Services.AddScoped<IOrderService, OrderService>();
logger.LogInformation("Order {OrderId} created", orderId);

Источники

Похожие вопросы