c# – 如何跨程序集使用Ninject

前端之家收集整理的这篇文章主要介绍了c# – 如何跨程序集使用Ninject前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以看到之前已经问过类似的问题,但对DI和.Net来说是全新的我无法掌握整个解决方案或者找不到合适的来源….

>我有程序集WebAPI,BL,DL.
> WebAPI依赖于BL,
> BL依赖于DL,
> WebAPI不参考DL,我想保持相同.还有更多的装配,但这足以说明问题.

WebAPI有应用程序启动部分,因此我可以使用它来初始化Ninject内核并注册WebAPI项目的依赖项.

如何为BL和其他组件实现相同的目标?

解决方法

有几种不同的方法,您可以使用 Ninject Conventions自动将每个ISomething解析为具有相同名称的实现(例如IThing – > Thing),或者您可以在每个组件中创建一个 Ninject Module注册依赖项(模块)在您的BL中可以加载DL中的模块.

您采用的方法取决于您是否需要为不同的对象定义不同的范围,例如,如果您希望将某些事物解析为可能影响您使用哪种方法的单例.

猜你在找的C#相关文章