webApi core2 DI通过代码来获取容器里面已注入的对象

请求服务

来自 HttpContext 的一次 ASP.NET 请求中可用的服务通过 RequestServices 集合公开的。

请求服务将你配置的服务和请求描述为应用程序的一部分。当你的对象指定依赖关系,这些满足要求的对象通过查找 RequestServices 中对应的类型得到,而不是 ApplicationServices

通常,你不应该直接使用这些属性,而更倾向于通过类的构造函数请求需要的类的类型,并且让框架来注入依赖关系。这将会生成更易于测试的 (查看 Testing) 和更松散耦合的类。

注解
更倾向于请求依赖关系作为构造函数的参数来访问 RequestServices 集合。

可以通过如下代码来获取容器里面已注入的对象:

 var service = HttpContext.RequestServices.GetService(typeof(ApplicationDbContext));
原文地址:https://www.cnblogs.com/tangchun/p/7659729.html