在ASP.NET MVC中,可以通过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));
通常,您不应该直接使用这些属性,而是更喜欢通过类的构造函数请求类所需的类,并让框架注入这些依赖项.这产生了更容易测试并且更松散耦合的类.
[1] https://docs.asp.net/en/latest/fundamentals/dependency-injection.html#request-services