如何注入在Windsor注册的MEF [ImportingConstructor]依赖项?

时间:2014-02-18 10:26:01

标签: c# inversion-of-control castle-windsor mef

我正在开发一个目前使用Windsor作为DI框架的C#/ MVC应用程序,并且刚刚开始探索MEF以使应用程序更具可扩展性。它一直工作得非常好,直到我的插件需要满足依赖关系的程度。

如何将Windsor托管依赖项注入由MEF导入的类中,最好使用[ImportingConstructor]?

我尝试从MefContrib扩展ContainerAdapterBase,但无法弄清楚如何使用[ImportingConstructor]。此外,使用MEF for IoC不是一种选择。

谢谢!

1 个答案:

答案 0 :(得分:0)

更新: 我目前的解决方案是编写一个由Windsor管理的简单“DSL”,它提供插件所需的所有功能,然后在MEF通过插件实例时手动注入。可能有点讨厌,但它的工作原理,这也意味着我不必从插件中做任何服务位置,并且还提供了一个关于插件“允许”做什么的好边界。

对此方法的任何想法都将不胜感激。