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

3
我正在开发一个使用C#/MVC的应用程序,目前使用Windsor作为DI框架,并开始探索MEF以使应用程序更具扩展性。它一直运作得非常好,直到我的插件需要满足依赖关系的那个点。
如何在由MEF导入的类中注入由Windsor管理的依赖项,最好是使用[ImportingConstructor]?
我尝试扩展来自MefContrib的ContainerAdapterBase,但无法弄清楚如何让它与[ImportingConstructor]一起工作。此外,不建议使用MEF进行IoC。
谢谢!

1
你是否考虑过使用Windsor来创建你的插件,而不是使用MEF(我对MEF不是很熟悉,但Windsor非常可扩展)。 - Marwijn
我喜欢使用MEF的想法,因为它真的很简单,而且它设计的就是这样,并支持一些Windsor不支持的东西,比如在运行时选择DLL中的类。我更喜欢为所有事情使用Windsor,但感觉有点像把它塞到不适合的工具中。 - GoatInTheMachine
1个回答

0
更新: 我的当前解决方案是编写一个简单的“DSL”,由Windsor管理,提供插件所需的所有功能,然后在MEF传递给我插件实例时手动注入。可能有点不好看,但它能工作,这也意味着我不必从插件中进行任何服务定位,并且为插件的“允许”做了一个很好的边界。
对于这种方法的任何想法将不胜感激。

我现在正在使用MEF和Unity解决同样的问题。你能否发布一些关于你如何解决这个问题的线索? - Stuart Hemming
很不幸,我们在大约一年后放弃了MEF方法,我现在无法访问代码,抱歉...虽然需要时DSL方法运作良好。 - GoatInTheMachine

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接