请求服务
来自 HttpContext
的一次 ASP.NET 请求中可用的服务通过 RequestServices
集合公开的。
请求服务将你配置的服务和请求描述为应用程序的一部分。当你的对象指定依赖关系,这些满足要求的对象通过查找 RequestServices
中对应的类型得到,而不是 ApplicationServices
。
通常,你不应该直接使用这些属性,而更倾向于通过类的构造函数请求需要的类的类型,并且让框架来注入依赖关系。这将会生成更易于测试的 (查看 Testing) 和更松散耦合的类。
注解
更倾向于请求依赖关系作为构造函数的参数来访问RequestServices
集合。可以通过如下代码来获取容器里面已注入的对象:
var service = HttpContext.RequestServices.GetService(typeof(ApplicationDbContext));