使用 NInject(最好是 2.0),我们有哪些选项可以在 Web 应用程序中连接我们的对象依赖项?
它们可以在 XML 配置文件中定义吗?
还是必须通过代码完成?
使用 NInject(最好是 2.0),我们有哪些选项可以在 Web 应用程序中连接我们的对象依赖项?
它们可以在 XML 配置文件中定义吗?
还是必须通过代码完成?
基于 xml 的配置有一个扩展:https ://github.com/ninject/ninject.extensions.xml
不过,您可以在代码中进行更强大的绑定。
Ninject 没有 XML 配置,抱歉,我无法提供直接链接(因为他们的网站有 flash 元素),但这里是ninject.org的引文:
从 XML 中解脱出来
大多数其他 .NET 依赖注入框架都是围绕使用 XML 来声明类型绑定而设计的。Ninject 不是强迫您编写繁琐且容易出错的文本,而是为您提供流畅的界面,让您可以使用成熟的代码连接应用程序的各个部分。这意味着您可以利用 IDE 和编译器的功能,例如代码完成和类型安全。
我看到的仅在代码中定义绑定的问题是您必须添加对 dll 的引用。如果不添加对新 dll 的引用(删除对旧 dll 的引用)、更改代码并重新编译,则无法更改绑定。
如果我们有 xml 配置,我根本不需要参考,也不需要重新编译。现在我有使用 DI 将存储库传递给控制器的 MVC 应用程序。没有别的,然后用于添加绑定的 Ninject 代码使用存储库的具体实现。我仍然需要添加对包含实现的 dll 的引用。只需一行代码!
或者也许有可能使用 Ninject 来实现这一点?
你想要达到什么目标?您要配置什么样的东西?动态选择策略 ? 传递端口号?您可以提供更多关于您的想法的信息,以便获得更好的答案[您可以接受:P]。
您需要拆分以下问题:
appSettings
在第一个池中,在代码中执行它是正确的方法,我想不出 XML 会带来什么优势,尤其是。在强名称等的上下文中。