Как получить доступ к экземплярам IApplicationBuilder и IWebHost внутри и вне метода контроллера ASP.Net Core? - PullRequest
0 голосов
/ 18 декабря 2018

Я хотел бы понять, можно ли ссылаться на экземпляры 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, чтобы лучше понять, и столкнулся с этими вопросами.

...