我目前正在使用Ninject在WCF服务应用程序中创建接口的实例。
Bind<IObjA>().To<ObjA>().InRequestScope();
Bind<IObjB>().To<ObjB>().InRequestScope();
Bind<IObjC>().To<ObjC>().InRequestScope();
它的效果很好,但我们将有几个IObjC的实现。对于IObjA/IObjB接口的流畅分配,我有哪些选项,但允许IObjC的可配置分配?我在SO上找到了一个相关问题,但我不知道是否可以同时支持流畅和可配置的方法。例如,我可以在IObjA和IObjB上继续使用上述方法,同时为IObjC使用Ninject.extensions.xml吗?是否建议为IObjC进行条件分配?这似乎很糟糕,但同时看起来非常简单。
if (condition1)
Bind<IObjC>().To<ObjC1>().InRequestScope();
else if (condition 2)
Bind<IObjC>().To<ObjC2>().InRequestScope();
此外,我知道其他框架(如Castle)支持XML配置,但我想继续使用Ninject。