MEF CachedAssemblyCatalog - 组件的延迟加载

时间:2012-05-31 12:05:20

标签: c# .net assemblies lazy-loading mef

我对older versions of MEF中提供的示例中引入的CachedAssemblyCatalog类非常感兴趣 - 它允许加载仅包含导出数据而不是整个程序集的小程序集,并且只加载完整当需要来自该装配的零件时装配。

我想在我的应用程序中使用此功能,但我不确定此代码的稳定性/可靠性,以及是否有任何关于此功能的未来计划。是否计划很快成为MEF的一个组成部分,或者根本不是?

有没有人在他的应用程序中使用此代码并可以分享他的印象?它稳定吗?它是否按预期工作?我对谷歌此类目录几乎没有可用数据以及缓存样本不再出现在currently available samples中这一事实感到有些气馁。

非常感谢任何输入。

2 个答案:

答案 0 :(得分:1)

得到这个@ MEF's forums的简短回答。

  

我们还没有积极维护这个样本,也没有考虑   它稳定。希望它对你有用,但我们没有   计划更新或进一步发展它。

不是我真正希望的。我认为这可能是一个非常有用的功能。

编辑:我自己最终实现了这一点并{{​​3}}

答案 1 :(得分:0)

不确定兑现装配,但随着MEF的推移,我会搜索布莱恩斯博客:http://www.bryanavery.co.uk/post/2010/05/27/Using-MEF-to-provide-PlugIns.aspx

通用 使用MEF导出和导入比我使用的任何其他IoC快得多。

代码的稳定性非常好,只要你有足够的dll位置。

此外,您可以在此处找到简单的代码示例: http://daysincode.blogspot.co.uk/2012/04/implementing-mef-with-list-of.html

否则, 我对MEF最困难的事情是理解它如何组合在一起以及如何构建引用的集合。 它允许为您的应用程序提供非常简单的播放选项,以及升级每个实现的简便方法。

如果您还有其他问题,请询问