如何在ASP.Net Core控制器方法的内部和外部访问IApplicationBuilder和IWebHost实例?

时间:2018-12-18 05:55:36

标签: c# asp.net-core dependency-injection .net-core

我想了解是否有可能从ASP.Net Core 2.x控制器方法中引用Microsoft.AspNetCore.Builder.IApplicationBuilder(应用程序)和Microsoft.AspNetCore.Hosting.IWebHost(主机)实例。 。而且,如果可以通过引用的类库方法完成相同的操作。

我尝试将接口注入控制器构造函数,如下所示:

public ResourcesController(IApplicationBuilder app)
{
    ...
}

public ResourcesController(IWebHost host)
{
    ...
}

但是它导致以下InvalidOperationException的抛出:

  

尝试激活'blablabla.ResourcesController'时,无法解析类型为'Microsoft.AspNetCore.Builder.IApplicationBuilder'的服务

  

尝试激活'blablabla.ResourcesController'时,无法解析类型为'Microsoft.AspNetCore.Hosting.IWebHost'的服务。

我想念什么?我需要在ConfigureServices方法中调用某些扩展方法吗?

我可能还可以尝试将实例包装在服务类中,然后将其注入到控制器中,但我认为还有比这更好的方法。

我还想知道,是否可以在一个类的实例方法中实现相同的目的,该类方法位于主ASP.Net Core应用程序引用的单独的类库中。

关于我为什么需要这个;老实说没有特别的原因。我只是尝试使用ASP.Net Core来加深理解,并遇到了这些问题。

0 个答案:

没有答案