Недавно я попытался создать приложение MVC, используя ASP.NET Core 2.0, и у меня были некоторые значения, определенные в appsettings.json,
"MySettings": {
"WebApiBaseUrl": "http://localhost:6846/api/"
}
Чтобы прочитать эти значения, я добавил
services.Configure<MySettingsModel>(Configuration.GetSection("MySettings"));
над строкой в методе ConfigureServices в Startup.cs
и в моем домашнем контроллере я добавил
private readonly IOptions<MySettingsModel> appSettings;
public HomeController(IOptions<MySettingsModel> app)
{
appSettings = app;
}
Класс MySettingsModel - это просто модель со свойством, аналогичным определению ключа в appsettings.json.
этим методом я могу прочитать значение этого ключа.
Теперь моя проблема в том, что я хочу использовать этот ключ во многих контроллерах, поэтому я не хочу повторять этот код на каждом контроллере, поэтому я создал BaseConntroller, добавил его конструктор и получил там свои значения. Но когда я наследую другие контроллеры с помощью моего BaseController, он выдает мне ошибку и говорит мне сгенерировать его конструктор, поэтому в основном он говорит мне добавить конструктор в каждый контроллер, чего я и хотел избежать.
Как мне этого добиться?
Вы можете увидеть изображение для ошибки
И это потенциальные исправления, которые он мне показывает.