问题标签 [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.

0 投票
1 回答
355 浏览

c# - 将 async/await 与托管插件框架一起使用

我有一个系统,它使用System.AddIn (MAF) 在单独的进程中托管插件。在插件内部,我想使用一些利用异步和等待的代码。

由于 MAF 使用远程处理跨进程进行通信,并且我们对这种通信几乎没有控制权,因此我试图确定使用异步代码的最佳方式,而不会有遇到死锁的风险。

例如,现在我有一个合同,它定义了这样的方法:

在 AddIn 的实现中DoWork,我希望能够使用异步 API。如果我能想出一种将字符串转换为Task<string>AddInAdapter 和 HostAdapter 内部的方法,那就太好了,但我想确保自己不会陷入僵局。

我想将我的视图合同定义为:

那么在合约中执行以下操作来查看适配器是否安全:

0 投票
1 回答
201 浏览

rest - 使用 MAF 应用程序中的 Restful Web 服务在 listView 中动态加载元素

我想使用 MAF 应用程序中的 RESTful Web 服务在列表视图中的 amx 页面上动态加载员工列表。然后选择其中一个项目后,我想在下一个 amx 页面上显示其相应的详细信息。我是这项技术的新手。

0 投票
0 回答
66 浏览

wpf - 如何使 WPF 验证在 MAF 下工作?

我有许多利用 MVVM 的 WPF 可执行项目。视图模型实现 INotifyDataErrorInfo。当这些 WPF 应用程序以标准方式运行时,验证按预期工作 - 出现默认红色边框,并通过触发器使用错误详细信息更新工具提示。XAML:

这些 WPF 应用程序也是由 MAF 体系结构 ( https://msdn.microsoft.com/en-us/library/bb384200(v=vs.110).aspx )定义的加载项,并由主机应用程序使用。每个加载项都为主机提供一个内容控件,主机在其主窗口中显示该内容控件。WPF 应用程序继续正常工作,但它由另一个进程中的窗口托管。

奇怪的是,当托管应用程序时,验证边框不显示;但是,工具提示按预期工作。

当 WPF 应用程序在 MAF 环境中运行时,为什么验证边框无法按预期工作?

0 投票
1 回答
1451 浏览

c# - 如何使用 ASP.NET MVC 构建基于模块的应用程序?

我正在尝试使用 ASP.NET MVC 和实体框架构建一个大型应用程序。我知道这个项目在某个时候会变得非常大,所以我想确保我设计它的方式能够在没有大量不必要的工作的情况下管理它,特别是当我有更多的程序员帮助我的时候。

我喜欢考虑的另一件事是应用程序部署。我不想每次在我的应用程序中进行更新或添加新部分时都必须继续编译我的应用程序。

我相信使用 MVC 设计将使我的代码保持干净且更易于维护。但我真正想要强制执行的一件事是模块设计以保持我的文件井井有条。

根据我所做的一些搜索,出现了三件事区域,MEF 和 MAF,这似乎基于相同的想法。

我还了解到,对于大多数 MEF 更符合我可能正在寻找的项目的项目,MAF 可能是一种过度杀戮。

我发现的大多数文章至少有 2 年的历史,并且都在谈论 ASP.NET MVC 4。我不确定这与 ASP.NET MVC 5 或 ASP.NET MVC 6 的相关性如何。

令我困惑的是,MEF 是一个框架,而 ASP.NET MVC 是另一个框架。是否可以使用这两个框架来获得带有模块基础应用程序的 MVC 设计,允许我组织我的文件,而不必在每次需要进行更新或添加新模块时编译我的应用程序?

MVC 和 MEF 的组合对于大型应用程序来说是一个好的开始吗?在设计我的应用程序时,我应该考虑一个更好的主意吗?

0 投票
1 回答
678 浏览

wpf - 缓存 MEF 组件

有没有办法缓存每个应用程序启动 (WPF) 的 MEF 组件图,就像 MAF 所做的那样,以避免发现目录并在每次应用程序启动时构建组件图。为了加快我的应用程序启动。MAF 使用 AddinsStore 存储所有插件,当新插件发现 Store 重建并再次保存时。使用 MEF 设计的模块化应用程序可以做到这一点吗?

编辑:

在我的项目架构中,我有扩展、模块和托管服务,所以我有不同的导出,比如(IExtension、IModule、IManagedService),并且我处理所有组件的启动依赖项,我想要的正是 ex(扩展目录)包含许多 dll并且可能并非所有 dll 都包含(导出/导入),因为某些 dll 只是对某些扩展的引用。因此 MEF 的默认发现行为是在扩展目录中的所有程序集中搜索导出/导入,但我想通过第一次查看所有 dll 并捕获类型及其名称和 dll 来修改此行为以在其中使用它们下次启动时间。从 catch 中直接加载组件(导出),因此 MEF 将知道可用组件及其位置,而无需加载和搜索 dll。

0 投票
1 回答
946 浏览

c# - 在默认 AppDomain 中的 Winforms 中托管 WPF 用户控件的弹出窗口中的选项卡导航损坏

我有一个使用弹出窗口的 WPF 用户控件。此控件是一个插件,可以在主 AppDomain 或单独的 AppDomain 中加载,它使用 ElementHost 托管在 Winforms 表单中。当插件在主 AppDomain 中加载并打开弹出窗口时,在弹出窗口的字段之间切换,而不是将焦点移动到弹出窗口父级的第一个控件。当它加载到新的 AppDomain 中时,选项卡行为按预期/期望工作(它在弹出窗口中的控件中循环)。

我已经阅读了关于 SO 和其他地方的许多类似但不完全相同的问题,但没有任何建议有帮助。

似乎选项卡消息正在 AddInHost 中处理(这来自我使用 FrameworkElementAdapters 在域外情况下跨域边界编组 WPF 控件)。我的最终目标是将其实现为托管插件框架插件,但我已经削减了这种方式以简化重现。

如果它有助于获得更完整的上下文,我有一个简化 repro 的 git repo

我该怎么做才能使这种行为保持一致?

WpfUserControl.xaml

插件.cs

MainForm.cs(选定位)

0 投票
1 回答
32 浏览

oracle - 无法显示在 amx 页面之间传递的对象的所有属性

我在显示从 amx 页面传递到另一个页面的对象的属性时遇到了困难。我的目标是在单独的 amx 页面上显示类 employee{String name,int age,String phone} 对象的所有字段。但我只能显示名称字段。

这是我的 empList.amx

这是我的 EmpDetails.amx

EmpDetails.amx 模拟器上的结果显示只显示了 employee.name 属性,没有其他内容

0 投票
1 回答
141 浏览

oracle - How to navigate between two local HTML pages in oracle maf

Is there any samples to navigate between local HTML pages using JavaScript in the oracle MAf.

Also is there any link available for writing business logic using JavaScript in Oracle MAF.

0 投票
1 回答
122 浏览

maf - System.Addin (MAF) 源代码是否可用?

我目前正在评估创建 C# 插件架构的不同方法(主要是 MEF 与 MAF)。System.Addin (MAF) 看起来很有趣,但网络上没有太多关于它的信息。

为了更好地理解 System.Addin 的工作方式,我会很高兴看到它的源代码。

我用谷歌搜索没有成功,你知道微软是否在某处发布了 MAF 源代码吗?

0 投票
0 回答
79 浏览

c# - 基于MEF链接DLL与外部资源依赖

我阅读了 .net MEF(托管扩展框架)和 MAF(System.AddIn),但我对他们的在线评论感到困惑。

虽然 MEF 似乎比 MAF 更新且更具吸引力。我不明白我们如何使用 MEF 将扩展链接到 .NET 应用程序。例如,在 MAF 中,我可以开发我的整个扩展逻辑 (AddIn),其中包括:

  • 主 dll,比如 X.dll
  • X.dll 引用的所有 dll
  • X.dll 需要的外部资源,例如数据库、一些文本文件……等

然后主机可以简单地调用 X.dll 中的方法并等待结果。

另一方面,MEF 要求所有 DLL 都位于同一文件夹中,例如“插件”,因此 X.dll 必须位于“插件”中才能被发现和链接,所以我的问题是我们如何嵌入所有X.dll 完成来自主机的传入请求所需的资源?

我真正的问题是:如果一个团队要设计一个主机应用程序,它的处理能力可以通过依赖其他团队开发的扩展或简单地从互联网上下载和安装来扩展,MEF 在这样的项目中是一种有效的技术吗?还是团队应该坚持使用 MAF?

PS:我的问题不在于哪一个在安全性方面更好......等等。相反,我更感兴趣的是找出 MEF 是否允许连接需要在程序集周围使用自己的外部资源的程序集,例如拼写检查扩展,需要一些文本语料库和启发式数据库,这两个资源是扩展需要的,但主机本身不需要

此外,在我之前的示例中,如果 X.dll 需要 Y.dll 才能运行,我不能简单地将两个 dll 都放在“Plugins”文件夹中,因为 y.dll 不是扩展名。