根据.config文件中的设置选择注入构造函数

时间:2012-10-26 06:45:54

标签: c# asp.net-mvc-3 dependency-injection ninject ninject.web.mvc

我有一个使用Ninject作为DI容器的MCV3应用程序。

我有一个对象有2个构造函数(每个有1个参数)

public MyObject(IDependencyOne dep){}
public MyObject(IDependencyTwo dep){}

如何让Ninject根据在运行时从web.config文件中读取的某个布尔值选择两个构造函数中的一个?

2 个答案:

答案 0 :(得分:0)

here开始,它说:Ninject没有XML配置。

  

从XML中解放自己

     

大多数其他.NET依赖注入框架都是围绕使用XML来声明类型绑定而设计的。 Ninject不是强迫您编写繁琐且容易出错的文本,而是通过流畅的界面为您提供支持,使您可以使用完整的代码连接应用程序的各个部分。这意味着您可以利用IDE和编译器的功能,例如代码完成和类型安全。

将IoC绑定转换为代码和XML之外的一般趋势(我知道或遵循的人)。大多数情况下,你会获得智能感知和运行时反馈。

我没有使用它,但有Ninject.Extensions.Xml的候选版本允许您在xml中设置映射。但是我通常会回避这样做。还有Ninject.Extensions.Conventions可能就是你所追求的。

来源:

Ninject and configuration

Ninject and XML configuration Binding

答案 1 :(得分:0)