#c# #asp.net-core #dependency-injection
#c# #asp.net-core #внедрение зависимостей
Вопрос:
Я хочу знать (хочу знать), почему мы можем использовать ILogger
в контроллере без добавления для него инъекции зависимостей (DI) ConfigureService
?
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
private readonly ILogger<WeatherForecastController> _logger;
public WeatherForecastController(ILogger<WeatherForecastController> logger,
Надеюсь, мой вопрос понятен.
Комментарии:
1. Потому что ASP.NET Core добавляет его для вас автоматически.
2. Существует метод расширения AddLogging, который настраивает систему ведения журнала с помощью встроенной системы конфигурации (и регистров
ILogger<T>
). В некоторых конфигурациях этот метод вызывается фреймворком автоматически.
Ответ №1:
пожалуйста, добавьте ниже в начальный файл:
private void CreateServiceProvider()
{
services.AddLogging();//<--HERE
}