问题标签 [maf]
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.
.net - 改进 FrameworkElementAdapters.ViewToContractAdapter
我在 Host 和 AddIn 之间使用 MAF(System.addin) 和 FrameworkElements。
我在适配器中使用 FrameworkElementAdapters.ViewToContractAdapter 和 FrameworkElementAdapters.ContractToViewAdapter。
我将 FrameworkElementAdapters.ViewToContractAdapter 与 stopwatcher 一起使用,结果以秒为 1,3 s 。
是否可以改进 FrameworkElementAdapters.ViewToContractAdapter 的时间?
谢谢
add-in - 插件控制器关机
我正在为我的项目使用插件框架,并且我正在使用以下代码来关闭插件。
AddInController ac = AddInController.GetAddInController(job); ac.shutdown();
这工作正常,在正常情况下关闭并从内存中卸载插件。如果用 Addin 编写的代码抛出任何异常,则上述无法关闭插件。
我应该写什么来处理这种情况?
谢谢, 丹尼斯
wpf - 优化 WPF 加载项激活
激活 WPF 加载项是否有任何优化技巧?我当前的 AddIn 在大约 5-6 秒内激活,但由于它正在 UI 线程上加载,因此 UI 在此期间被阻止。我试图简单地显示一个进度条,但由于 UI 阻塞,它永远不会更新。我实现了一个简单的 hack,它启动一个线程,等待 2 秒,然后通过 Dispatcher 加载 AddIn。此解决方案不错,但两秒钟后进度条冻结。
.net - MAF (System.AddIn) 属性是一个集合
我正在尝试使用 .NET4 System.AddIn 命名空间编写 MAF 插件。AddIn 有一个属性,它是一个名为“ReportParameters”的自定义类型的集合;AddIn 上还有其他属性,它们是 mscorlib 中包含的本机类型(即:整数、布尔值、字符串等),我从下面的代码片段中省略了这些属性,因为它们工作正常。我正在努力使用将 ReportParameters IListContract 转换为 IList 的 Host 和 AddIn 端适配器,反之亦然。任何帮助,将不胜感激。我的管道当前定义如下(参见 Host Adapter 中的注释):
合同组装
插件视图程序集
AddIn 主机适配器组件
主机视图程序集
主机适配器组件
c# - 合同中可序列化类型的MAF(System.Addin)属性?
我们正在测试 MAF 插件以用作我们的插件框架。但我们陷入了一个基本问题。我们可以使用可序列化类型作为 IContract 参数吗?
合同和参数类型都在同一个程序集中定义:
我们能够让一切正常运行。调用 SetCurrent 会导致异常: AppDomainUnloadedException :
加载和运行插件:
插入:
.net - MAF AddInController 的 AppDomain 属性为 null
我是 MAF 的新手,所以我的问题可能很愚蠢,但阅读一些关于激活插件的文档并不能澄清问题。
我有以下代码:
但是controller.AppDomain.UnhandledException
抛出NullReferenceException
,因为AppDomain
属性是null
. 这是预期的行为吗?如果是,如何在插件中管理异常或者我做错了什么?
c# - 具有事件驱动架构的 C# 托管插件框架
有什么方法可以将事件驱动的体系结构与 .NET 3.5 托管加载项框架一起使用?
据我所知,MAF 只允许使用严格定义的数据管道直接调用预定义函数,用于主机和插件之间的信息交换。我正在寻找一个框架,它允许在应用程序中使用热插拔插件,同时仍然允许事件驱动的架构(从主机和插件端)。
如果 MAF 不能做到这一点,是否有任何框架可以做到?
c# - 使用 MAF 加载程序集的正确方法
我有一个使用托管加载项框架 (MAF) 的基于插件架构的程序。我正在尝试以它们在自己的进程中运行的方式加载我的加载项程序集,并且我可以指定它们应该在哪里查找要加载的其他程序集。以下是我尝试过的两种不同方法以及为什么它们不能 100% 工作:
此方法允许我告诉每个加载项在新的应用程序域中运行,并且我可以指定在哪里查找其他程序集。这很重要,因为每个加载项都位于其自己的子目录中,并且需要在与主机相同的目录中查找以加载其他程序集。这种方法的问题是,如果加载项有未处理的异常,它将导致主机崩溃,因为它在同一进程中运行。
此方法将每个加载项加载到其自己的进程中,因此单个加载项崩溃它不会影响主机。问题是我无法弄清楚是否可以告诉加载项在哪里寻找其他程序集。他们只会查看他们的目录而不是主机的目录。
为了完成我正在寻找的东西,使用 MAF 的最佳方法是什么?我需要能够加载我的加载项是一种将它们与主机分开的方式,因为我没有编写加载项。我无法控制他们的代码,所以我需要确保他们不会让主机崩溃。我还需要能够指定加载项应从何处加载程序集,因为它们将位于自己的子目录中,并且需要从主机目录加载程序集。如果可能,我也希望不使用 GAC。
c# - plugin architecture .net maf or mef
I am currently working in a game platform application. I want to be able to easily add new games to it, but the games should be comply with a particular contract :
- The games must have some required methods
- They must receive some events provided by the main program
- They must be able to send some data back to the program
- It would be wonderful if it is easy for external developers to make games for the platform, just by having knowledge of the interface
I read some questions like MEF vs MAF, and at first I would think that MAF is better for me, but I am not sure of that. Plus, I think I could even make some kind of homemade system like, compiling games as DLLs and retrieve them at runtime.
MAF seems good because of the isolation, but since I am not really working with little add-in, and as I read, MAF is heavy and lacks speed, I have many doubts of what I should use.
Should I try MAF, even if it can be slow, and hard to develop, and does it really suits to what I am doing ?
plugins - 通过将引用包装在 MarshalByRefObject 中来远程处理引用?它会起作用吗?
我正在尝试使用 MAF 实现插件系统。我目前要传递的对象不是可序列化的,尽管我确信我可以使它们可序列化,但我认为它的性能不会很好。
两个问题:
1) 为了让 MAF 传递实际的引用,一个对象是否只需要从 MarshalByRefObject 继承,或者还有更多的东西吗?
2) 我可以将我的类包装在从 MarshalByRefObject 继承的对象中以获取引用吗?
编辑:显然问题本身与 MAF 关系不大,但我只是想包含一些上下文,以防有人可以指出我的完全方向。