【发布时间】:2015-10-20 20:18:41
【问题描述】:
我发现的在 ASP.NET 5 中使用 DI 的每个教程或示例仅展示了它如何与控制器和 Razor 视图一起使用。我需要将 DI 用于其他类,但不知道解析类型和提供实例的正确方法。现在我有一个HackyDependencyResolver 的实例,为了获得正确的实例,所有东西都必须引用它。我想访问 ASP.NET 的服务解析器或遵循其他一些解决依赖关系的最佳实践。
例如,如果我有
public class SomeClass
{
public SomeClass(IUseMe useMe)
{
}
}
它不是 ASP.NET MVC 控制器。创建SomeClass 时,我需要一种模式来解析IUseMe 的正确实例。我当然可以建立自己的全球工厂,但这是最好的方式吗?
【问题讨论】:
-
你还想注入哪些类?
-
@3dd 我用一个我想做的例子更新了这个问题。谢谢。
-
-
@3dd 我在问如何在任何控制器之外实例化
SomeClass。忘记控制器... ASP.NET5 处理得很好。如何解决IUseMe以便我不依赖特定的实现? -
您将
IUseMe加载到容器中,并使用一些满足它的类,然后要求容器解析实例。在 MVCControllers的情况下,容器配置为解析它们及其依赖关系
标签: asp.net dependency-injection asp.net-core