微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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中的模块.

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

原文地址:https://www.jb51.cc/csharp/100176.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐