在 ASP.NET MVC 5 中,可以通过 DependencyResolver.Current.GetService<T>()
获得一些依赖性. ASP.NET Core 中有类似的东西吗?
最佳答案
是的,有。在 ASP.NET Core 1.0.0 中,来自 HttpContext
的请求中可用的服务通过 RequestServices 集合公开[1]:
this.HttpContext.RequestServices
您可以使用 GetService 方法通过指定依赖类型来检索依赖:
this.HttpContext.RequestServices.GetService(typeof(ISomeService));
通常,您不应该直接使用这些属性,而应该通过类的构造函数请求您需要的类的类型,并让框架注入(inject)这些依赖项。这会产生更易于测试且耦合更松散的类。
<子>[1] https://docs.asp.net/en/latest/fundamentals/dependency-injection.html#request-services
关于c# - ASP.NET Core 依赖解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37813721/