问题标签 [mef]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2147 浏览

c# - 使用 MEF Preview 5 导入带有特定元数据的零件

我在 MEF 预览版 5 中有如下定义的导出

然后我想要那些带有“Application”“CheckFolderApplication”元数据的导入。为此,我阅读了所有导入,然后过滤结果。

这感觉真的很没效率。如果我有数千个插件怎么办?我是否必须通过 MEF 全部阅读它们才能获得一个具有正确元数据的插件?如果是这样,您如何缓存结果?

0 投票
4 回答
5166 浏览

.net - 托管可扩展性框架 (MEF) 与复合 UI 应用程序块 (CAB)

我们目前正在考虑将 CAB 或 MEF 用于我们的下一个应用程序。我没有看到任何关于如何处理同级控制通信的事件代理的 codeplex 示例,也许我错过了。MEF 中的控件间通信如何工作?

此外,我们计划使用为 CAB 框架提供附加组件的 Infragistics。Infragistics 控制与 MEF 的集成程度如何?

总体而言,MEF 值得追求一个相当大的、15,000 小时的严格开发、应用程序吗?

0 投票
1 回答
346 浏览

c# - 使用 MEF 进行部件特定设置

例如,我们有一个接口,该接口将由负责跨网络或 COM 端口的数据传输的类实现。

我们暂时称它为 IDataTransporter,我们有 2 个实现:

ComPortDataTransporter 和 TcpDataTransporter。

显然,这两个需要非常不同的配置。

第一个具有诸如 buadrate、开始/停止位等设置...第二个具有诸如 ip 地址和端口之类的设置。

是否有任何最佳实践来处理这个问题?最后,我们希望用户能够加载“部件”并对其进行一次配置。

谢谢。

0 投票
2 回答
123 浏览

c# - 使用 MEF 从 X 个文件夹中导入零件

我有许多文件夹,它们都包含应该导入的 MEF 部件。查找所有部件以遍历文件夹并创建 MEF 聚合目录对象的最简单方法是什么?

我需要根据从中读取的文件夹将部件放置在应用程序中的不同位置。所以文件夹“Test1Parts”中的部件应该放在应用程序的“Test1”部分下。我是否以某种方式提供了文件夹名称,或者通过聚合目录导入后它们看起来都一样吗?

我有通用部分,所以我不能真正在每个部分上添加一个属性,重新编译只是为了让它们显示在应用程序的不同部分。

另一种方法(如果不能通过文件夹结构控制)当然是使用我在导入之前读取的配置文件,告诉哪个部分应该去哪里。

最好的方法是什么?

0 投票
1 回答
223 浏览

c# - 表单树视图中节点类型和上下文操作可扩展性的最佳方法

我正在为 Visual Studio 2008 开发一个 Visual Studio 加载项,它显示一个树形视图,提供服务器产品中内容的视图。服务器产品包含不同类型的节点,每个节点都有自己类型的上下文菜单(右键菜单)。

对于新类型的节点和连接到节点的操作,我目前只添加代码两个我的项目。我想断开我的节点类型和节点上可用的操作,以便我可以使用插件模型将节点和条目添加到上下文菜单中。MEF 可能是一个不错的候选人。有没有人对如何以简单直接的方式实现这一点有一个好主意,这样尤其是插件开发人员不必做很多工作?

0 投票
6 回答
9084 浏览

c# - 创建导入的 MEF 零件的多个实例

目前我的 WPF 应用程序导入这样的部分

但这给了实现 ILedPanel 的类的单一实例。我真正想做的是能够创建我需要的尽可能多的实例。请注意,在任何给定时间,软件都只包含一个用于 ILedPanel 的导出。

(如果我使用带有 List 的导入,它为每个实现 ILedPanel 的类提供一个实例)

有什么建议么?

0 投票
3 回答
2514 浏览

wcf - MEF 和 WCF

我想使用 MEF 来实例化在 IIS 中托管多个 WCF 服务的应用程序中的依赖项。不同的服务依赖于共享组件,我希望 MEF 管理这些组件的实例化和注入。

我应该在哪里进行作曲?最初我想在 IInstanceProvider 中有一个 CompositionContainer,但后来我意识到该容器只能服务于一个端点,并且它管理的实例不会与其他端点共享。同样,在 ServiceHost 中拥有 CompositionContainer - 这不会在不同服务之间共享。

我在这个分析中正确吗?将 CompositionContainer 作为应用程序级别的单例的唯一解决方案是什么?

第二个问题是 - 当 WCF 实例化服务时(例如启动新用户会话时),我如何提供其依赖项?我是否让 CompositionContainer 重新组合?这不会影响其他已经在运行的服务实例吗?

有人可以分享这个概念的代码示例吗?非常感谢!

0 投票
1 回答
176 浏览

c# - MEF 是否适用于产品?

我们开发了一种产品(核心)。我们扩展和覆盖 Core 中的功能以创建定制应用程序(产品)。

Product 具有对 Core 的引用,因此它可以从基本表单继承并覆盖功能。

MEF 在这里会有优势还是更适合插件?

0 投票
4 回答
2439 浏览

asp.net - 在 MVC 中使用 MEF 实现可插拔架构

好的,我遇到了一个奇怪的问题,希望有人可以帮助解决

我有一个基于这个演示的 MVC 项目

http://blogs.msdn.com/hammett/archive/2009/04/23/mef-and-asp-net-mvc-sample.aspx

但是在指定强类型视图时出现问题我收到此错误

当您像这样指定视图的路径时,我将其追踪到必须这样做

它会给你这个错误,但如果你把视图放在正常路径下,在这种情况下是“~Views/Forum/Index.aspx ....当像这样指定返回时它工作正常

那么为什么这很重要,这显然与视图引擎的工作方式以及控制器实际上是应用程序外部的事实有关......请帮助!

编辑: ForumData实际上是ForumExtention.ForumData,当我生成错误进行剪切和粘贴时我犯了一个错误,但无论如何它都会做同样的事情..我只需要了解一下..

更新:我提供的链接中的示例工作正常,因为它没有使用强类型视图...通过从这里下载来查看我正在使用的实际代码

http://mysql.netpmg.com/MVCandMEF.zip

http://mysql.netpmg.com/forumdb.zip

将 foumdb.zip 重命名为 *.bak,这是一个 SQLEXPRESS 2008 数据库备份。

0 投票
3 回答
2760 浏览

.net - MEF:标记接口用于导出

是否可以将接口标记为导出,以便所有派生类都可用于导入?

我不知道IMyInterface这个例子中实现了哪些类。这些类本身对 MEF 一无所知 - 并且不使用该[Export]属性。

只要我不标记每一堂课,[Export]它似乎对我不起作用。