我在VS 2012中启动了一个项目,我的解决方案具有以下结构。
1) Web界面(MVC 4)调用WCF层
2) WCF层调用业务逻辑层
3) 业务逻辑层调用存储库层(泛型存储库)
4) 存储库调用数据访问层(DAL = EF 5.0)
问题:
我想使用Ninject(版本3)进行DI
1) 是否需要在每个层/项目级别上添加Ninject以解决DI?
2) 我应该将以下代码添加到哪个层次中以创建绑定?由于以下代码进入NinjectWebCommon.cs类以进行绑定。
1) Web界面(MVC 4)调用WCF层
2) WCF层调用业务逻辑层
3) 业务逻辑层调用存储库层(泛型存储库)
4) 存储库调用数据访问层(DAL = EF 5.0)
问题:
我想使用Ninject(版本3)进行DI
1) 是否需要在每个层/项目级别上添加Ninject以解决DI?
2) 我应该将以下代码添加到哪个层次中以创建绑定?由于以下代码进入NinjectWebCommon.cs类以进行绑定。
// 'real' implementations or (Bindings)
kernel.Bind<IRepository>().To<Repository>();
kernel.Bind<IAuthorBLL>().To<AuthorBLL>();
2) 我需要在我的解决方案的每个项目/层中添加Ninject并在每个NinjectWebCommon.cs类中定义绑定吗?
还是应该只在WCF层中定义绑定,但是那样我就需要在WCF项目中添加对每个项目的引用。
或者只应该在MVC层的开头定义绑定,但是那样我就需要在我的MVC项目中添加对每个项目的引用。
请给予建议。非常感谢。
如果您能指向有所有上述层和Ninject的样本工作代码,那就太棒了。我尝试过了,但找不到这样的东西。