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