【发布时间】:2017-07-13 12:21:07
【问题描述】:
为什么IDependencyResolver 与.NET 框架中的System.Web 程序集(Mvc 或Http)耦合?
DI 系统的目标不是应该提供一种不可知的方式来为客户提供依赖关系吗?如果我想在一个项目中使用IDependencyResolver,该项目不应引用与 System.Web 相关的任何内容,该怎么办?
编辑:
这更像是一个哲学问题,而不是关于如何做的请求,因为我知道还有其他替代方案,例如开源 DI 库。
【问题讨论】:
-
它是一个接口,它说它不是紧密耦合的。您可以使用.net 中提供的内置依赖解析器,也可以通过实现
IDependencyResolver接口来编写自己的。如果您使用城堡 Windsor 或 Unity 或 Ninject,它们已经拥有自己的此解析器版本。 -
有一个 IServiceProvider 接口是系统的一部分。但是,它是一个非常有限的界面
标签: c# asp.net .net asp.net-mvc asp.net-web-api