asp.net – 如果Ninject尚未绑定,如何在Ninject中绑定?

前端之家收集整理的这篇文章主要介绍了asp.net – 如果Ninject尚未绑定,如何在Ninject中绑定?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以将Ninject配置为在绑定时不绑定依赖项.

例如.

如果我们加载一个名为Client1的模块,其中包含:

@H_301_6@public class Client1Module:NinjectModule { public override void Load() { Bind<IService>.To<FancyService>() } }

然后我们加载一个名为Base contains的模块

@H_301_6@public class BaseModule:NinjectModule { public override void Load() { Bind<IService>.To<BasicService>() } }

我们希望确保BasicService不受约束,系统始终使用FancyService.我们不会在设计时知道FancyService是否存在.如果找到Client1模块,则会加载它.

我并不想在每次注射等问题上都有一堆重复的锅炉板代码.因为有50-60个依赖项,所有这些都可以在客户端模块中进行更改.

有任何想法吗?

解决方法

您必须确保在Client1Module之后加载BaseModule: @H_301_6@public class BaseModule: NinjectModule { public override void Load() { if (!Kernel.GetBindings(typeof(IService)).Any()) { Bind<IService>().To<BasicService>(); } } }

猜你在找的asp.Net相关文章