mef 中的组合容器所持有的类的实例

2024-02-26

据我了解,MEF CompositionContainer 创建并保留类的实例。我不知道在什么情况下 CompositionContainer 的内部会有一个类实例。

  1. 任何人都可以列出对 CompositionContainer 执行的操作或 CompositionContainer 类的方法,这些操作导致 CompositionContainer 在 CompositionContainer 中存储类的实例。
  2. 是否可以在调试器或任何其他方式中查看 CompositionContainer 中保存的类实例?

CompositionContainer 将在 CompositionContainer 的生命周期内保留对所有共享部分的引用。 (对于导入和导出,默认的 CreationPolicy 都是 Any,这意味着除非另有指定,否则默认情况下所有部件都将被共享。)

如果该部件实现了 IDisposable,则将保留对非共享部件的引用。当从容器中提取的根导出被释放时(如果该导出来自非共享部分),该引用将被释放。对于使用 ExportFactory 创建的导出,可以通过调用 CompositionContainer.ReleaseExport 或 ExportLifetimeContext.Dispose 来释放导出。

我认为没有任何简单的方法可以查看 CompositionContainer 所保存的内容。源代码是可用的,因此理论上您可以深入研究它并找出它的确切存储位置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mef 中的组合容器所持有的类的实例 的相关文章

  • MEF 和单独的接口组装导致“每个类的接口”

    我特别熟悉 DI IoC 和 MEF 我有一个 Web 应用程序 它有两种类型的部分 也许有一天会更多 这些部分由需要访问整个环境的接口定义 该应用程序有一个由 MEF 组成的列表 其中包含每种类型的具体实现 环境包括 几个存储库 当前的申
  • 如何使用 Moq 来满足单元测试的 MEF 导入依赖关系?

    这是我的界面 public interface IWork string GetIdentifierForItem Information information 和我的班级 public class A IWork ImportMany
  • MEF:棱镜的替代品?

    MEF 在多大程度上 如果有的话 可以替代 PRISM 今天我想说 Prism 和 MEF 是相辅相成的 正如 Prism 和 Unity 一样 Prism 引入了一组特定服务 例如 RegionManager DelegateComman
  • MEF 导出是缓存还是每次请求时都会发现?

    如果我有一种类型 MyClass 请注册 Export typeof Myclass 属性 以及 PartCreationPolicy CreationPolicy Shared or PartCreationPolicy Creation
  • 如何从 MEF 组件提供 XAML 资源

    我有一个导入 MEF 组件 当导入向导打开时会动态加载该组件 一旦用户选择了她想要处理的导入类型 对导入向导对话框的控制就会传递给所选的导入组件 当然 导入组件需要向向导对话框提供资源 例如DataTemplates 目前这是通过以下方式实
  • 如何在可移植类库中使用MEF?

    我有针对 NET 4 5 和 Windows 应用商店应用程序的可移植类库 根据 MSDN 此设置应该提供 MEF但事实并非如此 命名空间System ComponentModel Composition不可用 我什至尝试过System C
  • ASP.Net MVC 5 MEF 如何以编程方式导入和导出部件?

    我已经阅读了 Stackoverflow 上关于如何将 MVC 与 MEF 结合使用的所有帖子 并提供了这些帖子的链接 但我在所有问题中都没有找到答案 并且在互联网上搜索的是如何使用 MEF 创建插件 这些插件可以从管理设置页面打开 关闭
  • Visual Studio 包构建和私有 bin 路径中的 DLL

    我正在使用 MEF 来做一种粗略的插件架构 这运作良好 但是 当我使用 Visual Studio 包 发布构建任务 我通过 NAnt MSbuild 调用 进行部署时 我未引用的插件程序集未包含在包中 因此未部署 有没有办法告诉 VS M
  • 如何使用 MEF 导出和导入函数并执行它们?

    我正在创建一个导入多个插件的应用程序 我需要能够执行每个插件中实现的功能 例如 我需要做这样的事情 MainApp ImportMany public IEnumerable
  • Prism ServiceLocator GetInstance 和 MEF

    我正在尝试使用 Microsoft Practices ServiceLocation ServiceLocator 和 MEF 接口 IServiceLocator 定义了带有两个参数的方法 GetInstance 第一个参数是 serv
  • 使用 MEF 时 Type.GetType 返回 null

    我目前正在使用 MEF 来导入插件的项目 因为插件是用 WPF 编写的 它们每个都有一个视图和一个视图模型 插件了解视图模型 但主 shell UI 将使用约定优于配置类型模式来构造视图并绑定视图模型 我使用了 Build your own
  • WPF MEF + Prism 初始区域加载

    我在 WPF 中使用 MEF 和 Prism 编写了一个具有三个不同区域的 MVVM 应用程序 代码跨两个模块 在 App Config 中发现 我的所有导航命令和结构都工作得很好 但我感到困惑的一件事是如何设置在应用程序启动时加载到每个区
  • SatisfyImportsOnce 与 ComposeParts

    有人可以解释一下两者之间的区别吗SatisfyImportsOnce and ComposeParts为什么一个可以工作而另一个则不行 具体来说 我有一个正在使用 MEF 的 MVC Web 应用程序 下面是一些在我使用时有效的代码 来自该
  • MEF 和使用 NUnit 进行单元测试

    几周前 我加入了 MEF 组件模型 潮流 现在将它用于我的许多插件和共享库 总的来说 除了我经常犯的错误 导致调试过程令人沮丧 之外 它还是很棒的 无论如何 我的应用程序运行得很好 但我的 MEF 相关代码更改导致我的自动构建失败 我的大多
  • C# WCF插件设计与实现

    我想得到一些建议 我正在开发一个系统 该系统将在运行时加载插件并要求它们通过 WCF 端点可用 我将有一个仅真正用于配置的 MVC 3 Web 应用程序 以及一个将加载不同插件的类库 核心 我希望得到一些有关如何解决此问题的指导 我想加载该
  • 如何获取MEF中的所有方法

    我有属性类 AttributeUsage AttributeTargets Method public class MethodGetterAttribute ExportAttribute 我在几个命名空间的方法中使用它 namespac
  • 拦截MEF中的依赖关系

    是否可以在 MEF 处理依赖项请求之前拦截 MEF 中的依赖项请求 这对于实现装饰器和高级生命周期管理非常有用 就像是 catalogue AddInterceptor
  • 使用另一个 MEF 程序集中的类而不引用它

    我有 2 个 MEF 组件 设其为A成分和B成分 我需要的是能够从组件 A 中的组件 B 访问一个类 而不需要引用它 然后我想手动实例化该类的对象 目前我看到 MEF 允许使用 Import 自动实例化对象 它使用需要引用的接口 我可以使用
  • MEF 错误,是循环依赖,现在是其他错误

    由于我的应用程序架构发生变化 我最近出现了循环依赖关系 该应用程序依赖于通过 MEF 加载插件的插件管理器 一切都工作正常 因为它看起来像这样 model cs Export Model public class Model public
  • 在 .NET Core 上通过 MEF 将参数传递给插件构造函数?

    我花了几个小时试图弄清楚如何通过 MEF System Composition 将参数传递给插件构造函数 但一切都无济于事 不用说 相关文档很少 查看源代码也没有帮助 这曾经非常容易做到 使用 CompositionHost Compose

随机推荐

  • Datanode 进程未在 Hadoop 中运行

    我使用以下命令设置并配置了多节点 Hadoop 集群本教程 http www michael noll com tutorials running hadoop on ubuntu linux multi node cluster form
  • 使用 ggplot2 >= 2.0 中的贴标器混合空和 bquote-d 刻面标签

    在 2 0 之前 在 ggplot2 中我可以使用element blank and labeller仅标记行或列facet grid like library ggplot2 g lt ggplot mtcars geom point a
  • 如何在 PowerPoint VBA 中模拟 ThisPresentation

    我希望能够从加载项本身的一些 VBA 代码访问 PowerPoint 加载项文件 另存为 PowerPoint 加载项 ppa 的演示文稿 的文档属性 如果它有助于理解问题 我实际上想做的是读取存储加载项版本号的自定义文档属性 以便我可以在
  • 使用 spring security 以编程方式登录用户

    其相反 如何使用 Spring Security 手动注销用户 https stackoverflow com q 5727380 106261 在我的应用程序中我有注册新用户屏幕 它发布到一个控制器 该控制器在数据库中创建一个新用户 并进
  • SSL 证书不起作用 - “无起始行”错误 - Apache2 Ubuntu 16.04.1

    我们正在办公室设置一个新的子域 并使用我们拥有的通配符 SSL 证书 我已经创建了我的密钥和 csr 文件 然后我发送到 csr 文件以获取我们现在拥有的 cer 文件 我将发布我进一步运行的命令 然后 在为我们的新域使用 a2ensite
  • 理解正则表达式 if then 语句

    所以我不确定我是否理解这是如何工作的并且想要a simple explanation to how they work是全部 我可能还差得很远 A pure regex solution is required and I don t kn
  • VBA 中的索引 (Access 2003) - 字段关联

    基于 Microsoft Access 如何知道为索引字段集合创建的字段与 TableDef 字段集合中的等效字段关联 Even in 此 Microsoft 支持页面 https support microsoft com en us k
  • 复制 DOM 元素及其事件在变量中 (jQuery)

    我想复制变量中的 DOM 元素 所以我这样做了 var before someid html 然后我的脚本在这个 someid DOM 中做了很多事情 完成后我像以前一样恢复了 DOM someid html 之前 这工作正常 但问题是我在
  • 响应使浏览器不执行任何操作 - 这可能吗?

    是否有可能做出这样的 HTTP 响应 浏览器会忽略它并继续显示先前显示的页面 我的意思是以下场景 a 用户点击某物 b 一些 POST 发送到服务器 或 GET 但我们还是使用 POST 因为更有趣 c 服务器由于某种原因决定此时不想发送回
  • Python 命令行(参数太少)

    我的 python 系统调用有问题 我已经设置了 python 路径和路径文本 这些命令适用于我的计算机 run py python runWithParamater py parameterExample txt 但如果我跑 runWit
  • gae 错误:AttributeError:“NoneType”对象没有属性“user_is_member”

    class Thread db Model members db StringListProperty def user is member self user return str user in self members and thr
  • 使用 AWS Elastic LoadBalancer 公开 kubernetes 应用程序

    我创建了一个内部 AWS 弹性应用程序负载均衡器 并在 AWS 控制台中将其状态显示为活动 请注意 我使用 jenkins 作业创建了此 ALB 并且在该作业中我指定了我的 AWS EC2 实例服务器 该服务器配置为我的 kubernete
  • Cmake target_link_libraries 未链接我的库

    我将开始声明我在 Cmake 问题上几乎完全愚蠢 我有以下内容CMakeLists txt对于 Kdevelop 4 1 项目 project uart find package KDE4 REQUIRED include KDE4Defa
  • PCL:可视化点云

    我正在尝试使用可视化点云PCL http pointclouds org 云浏览器 问题是我对 C 很陌生 我找到了两个教程first https pcl readthedocs io projects tutorials en lates
  • 在尝试 Android 编程之前我应该​​学多少 Java? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我一直在寻找Android的初学者学习书籍 当然发现我应该先学习Java 所以我开始学习 Java 现在我对对象 类 继承 接口非常熟悉 并且刚
  • 通过 C# Graphics 绘制“透明”文本,但在某种程度上它将绘制的文本变为“缺失”,因此它在结果图像中是透明的

    我希望在 DC 上绘制一个字符串 图形 我正在使用 C 但我希望将绘制的文本从图像中 删除 以便剩下的本质上是文本的剪切 如果我用透明画笔绘制绳索 显然什么都不会发生 有没有一种方法可以绘制类似的东西 或者我是否需要使用 2 个 DC 和
  • Pyopengl 镶嵌多边形

    我有以下形式的多边形 1 2 2 4 3 4 5 6 我需要镶嵌来绘制它们 但是 glutes 太复杂了 Opengl 无法处理凸多边形 我想我需要类似的东西 http www math uiuc edu gfrancis illimath
  • 如何为单个文件启用 ARC

    我想将使用 ARC 编写的单个 Objective C 类引入旧项目中 互联网提供了许多关于如何为项目启用 ARC 然后为单个文件禁用它的参考 但我想做相反的事情 我想保持项目原样 即使用手动引用计数 然后仅为新文件启用 ARC 我的搜索在
  • 为什么 Gitlab-CI 在下一阶段删除工件?

    指定依赖关系后 Gitlab CI当进入下一阶段时 仍然会从工作目录中删除工件 我已经尝试了该代码的所有不同变体 我认为这些变体应该有效 但没有成功 此外 我已经阅读了几个小时但尚未成功 亚搏体育实验室11 6 0 stages build
  • mef 中的组合容器所持有的类的实例

    据我了解 MEF CompositionContainer 创建并保留类的实例 我不知道在什么情况下 CompositionContainer 的内部会有一个类实例 任何人都可以列出对 CompositionContainer 执行的操作或