Я хотел бы понять, можно ли ссылаться на экземпляры Microsoft.AspNetCore.Builder.IApplicationBuilder (приложение) и Microsoft.AspNetCore.Hosting.IWebHost (хост) из метода контроллера ASP.Net Core 2.x.,А также, если то же самое можно сделать из ссылочного метода библиотеки классов.
Я попытался внедрить интерфейсы в конструктор контроллера следующим образом:
public ResourcesController(IApplicationBuilder app)
{
...
}
и
public ResourcesController(IWebHost host)
{
...
}
Но это привело к выбросу следующих InvalidOperationException
:
Не удалось разрешить службу для типа 'Microsoft.AspNetCore.Builder.IApplicationBuilder' при попытке активировать 'blablabla.ResourcesController'
и
Не удается разрешить службу для типа «Microsoft.AspNetCore.Hosting.IWebHost» при попытке активировать «blablabla.ResourcesController».
Чего мне не хватает?Нужно ли вызывать некоторые методы расширения в методе ConfigureServices
?
Я также, вероятно, мог бы попытаться упаковать экземпляры в классе обслуживания и внедрить их в контроллер, но я подумал, что будет лучший способ, чем этот.
Мне также интересно,то же самое может быть достигнуто внутри метода экземпляра класса, находящегося в отдельной библиотеке классов, на которую ссылается основное приложение ASP.Net Core.
Что касается того, зачем мне это нужно;честно говоря, нет особой причины.Я просто экспериментировал с ASP.Net Core, чтобы лучше понять, и столкнулся с этими вопросами.