c# - ASP.NET Core 依赖解析器

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

在 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/

相关文章:

c# - 如何使用 ExecuteNonQuery 在 VARCHAR(MAX) 列中插入超过 8000 个字符?

c# - 单元测试文件 I/O

java - Spring - 如何将一个 bean 注入(inject)到在运行时多次创建的类中?

javascript - 服务器验证失败后,模式中的 js 停止工作 ASP.NET MVC Core

javascript - Jquery 不从数字中删除逗号和美元符号

azure - 创建应用服务订阅 EMPTY

c# - 使用自定义属性跳过body方法

c# - MVC4 捆绑 : where the URL for bundle is held

c# - 如何使用 C# 获取 X509Certificate2 对象的签名?

c# - Asp.Net Core - 需要从没有依赖注入(inject)生成的实例访问 HttpContext 实例