我目前使用Ninject在WCF服務應用程序中創建接口的實例。Ninject - 如何動態選擇一個實現綁定到一個接口
Bind<IObjA>().To<ObjA>().InRequestScope();
Bind<IObjB>().To<ObjB>().InRequestScope();
Bind<IObjC>().To<ObjC>().InRequestScope();
它很好用,但我們將有幾個IObjC的實現。對於IObjA/IObjB的接口繼續爲實現進行流體分配,但允許爲IObjC配置分配,我有哪些選擇?
我發現一個related question on SO,但我不知道我是否可以同時支持流體和可配置的方法。
例如,我可以在IObjC中使用Ninject.extensions.xml,同時繼續爲IObjA和IObjB使用上述方法嗎?
建議對IObjC進行條件賦值嗎?這看起來很髒,但同時顯得非常簡單。
if (condition1)
Bind<IObjC>().To<ObjC1>().InRequestScope();
else if (condition 2)
Bind<IObjC>().To<ObjC2>().InRequestScope();
此外,我知道其他框架,如城堡支持XML配置,但我想繼續使用Ninject。
2 - 想象一下,你想在不同的機器相同PROGRAMM文件(.exe),讀取來自不同數據庫或XML(不相同的數據結構)數據S o您需要配置至少在每種情況下使用的DAL。你會怎麼做? – Morvader 2012-11-06 12:43:22
你會不會在app.configs中有不同的連接字符串?否則,那將是擁有XML配置的好時機。 – 2012-11-06 18:29:28