【发布时间】:2013-10-01 11:29:15
【问题描述】:
我在 VS 2012 开始了一个项目;我的解决方案具有以下结构。
1) Web Interface (MVC 4) 调用 WCF 层
2) WCF 层调用业务逻辑层
3) 业务逻辑层调用Repository Layer(通用存储库)
4) 存储库调用数据访问层 (DAL = EF 5.0)
问题:
我想将 Ninject (ver 3) 用于 DI
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 的示例工作代码,那就太好了。我试过了,但找不到这样的东西。
【问题讨论】:
标签: asp.net-mvc wcf dependency-injection ninject