2013-04-08 61 views
1

在我们的一个Java EE环境中,我们能够将模块封装在Java ear文件中,并将它们部署到我们的JBoss环境中,以便它们能够被拾取并提供给用户。在.Net世界中,如何在运行时环境中实现类似的功能?这是MEF进来的地方吗?或者它会以完全不同的方式接近?.Net相当于可部署的EAR

任何建议将不胜感激。

感谢,

小号

+0

看一看MEF第一。请注意,MEF不是插件框架。如果它不够,你想要一个完整的插件框架看看mono.addins – 2013-04-09 10:25:13

回答

1

您可以只需将它们编译成一个单独的程序。这些模块组件可以与主应用程序分开分发。

当你在MEF撰写你的对象,你可以指定一个DirectoryCatalog(或ApplicationCatalog),包括在一个给定的目录中的所有组件的所有模块:

var catalog = new DirectoryCatalog(".\modules"); 
var container = new CompositionContainer(catalog); 
+0

感谢p.s.w.g所以MEF,然后检查添加到目录中显示的项目? – scarpacci 2013-04-08 17:57:25

+0

@scarpacci您是否在运行时动态地[重新组织](http://mef.codeplex.com/wikipage?title=Recomposition)?我自己并没有尝试过,但这看起来很有希望。 – 2013-04-08 17:59:42