我可以看到之前已经问过类似的问题,但对DI和.Net来说是全新的我无法掌握整个解决方案或者找不到合适的来源….
>我有程序集WebAPI,BL,DL.
> WebAPI依赖于BL,
> BL依赖于DL,
> WebAPI不参考DL,我想保持相同.还有更多的装配,但这足以说明问题.
WebAPI有应用程序启动部分,因此我可以使用它来初始化Ninject内核并注册WebAPI项目的依赖项.
如何为BL和其他组件实现相同的目标?
解决方法
有几种不同的方法,您可以使用
Ninject Conventions自动将每个ISomething解析为具有相同名称的实现(例如IThing – > Thing),或者您可以在每个组件中创建一个
Ninject Module来注册依赖项(模块)在您的BL中可以加载DL中的模块.