拦截MEF中的依赖关系

2024-04-07

是否可以在 MEF 处理依赖项请求之前拦截 MEF 中的依赖项请求?

这对于实现装饰器和高级生命周期管理非常有用。

就像是...

catalogue.AddInterceptor<IExpensiveService>(b => ... return from pool ...);

甚至...

catalogue.AddInterceptor<IExpensiveService>(b => new Decorator(b()));

(其中“b”是用于解析服务的底层 MEF 解析函数)


不是开箱即用的,但您可以编写自己的出口商 http://msdn.microsoft.com/en-us/library/system.componentmodel.composition.hosting.exportprovider.aspx or 可组合部件目录 http://msdn.microsoft.com/en-us/library/system.componentmodel.composition.primitives.composablepartcatalog.aspx实施来做到这一点。

MefContrib https://github.com/mefcontrib似乎已经实现了类似的东西,看看拦截目录 https://github.com/MefContrib/MefContrib/blob/master/src/MefContrib/Hosting/Interception/InterceptingCatalog.cs。另请参阅此(可能已过时)博客文章 http://pwlodek.blogspot.com/2010/11/introduction-to-interceptingcatalog.html关于它。

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

拦截MEF中的依赖关系 的相关文章

  • 有没有办法让我的程序用更少的代码运行?

    我为学校作业编写了以下代码 它编译并打印所有正确的消息 但出于我自己的好奇心 我想知道我的代码是否可以缩短并且仍然有效 我尝试了 signal 而不是 sigaction 但我听说 sigaction 比 signal 更受青睐 此外 此任
  • 演示如何在 C# 4.0 中使用新的“dynamic”关键字

    这是 4 0 版本中新的 C 未来 称为动态 告诉我如何在我的代码中使用它以及这个未来可以如何帮助我 相关问题 新的 dynamic C 4 0 关键字是否弃用了 var 关键字 https stackoverflow com questi
  • Visual Studio 2015 C# 找不到参考

    我在使用 Visual Studio 2015 和 C 时遇到了问题 在同一解决方案中添加对其他项目的引用时 Visual Studio 找不到所有类 例如 我创建了一个单元测试项目 我添加了对我创建的通信项目的引用 库中有 10 个类 但
  • MSVC10 /MP 在项目中跨文件夹构建非多核

    我希望有人指出我们所遇到的错误或解决方法 使用 MP 编译项目时 似乎仅同时编译同一文件夹中的文件 我使用进程资源管理器来滑动命令行并确认行为 项目过滤器似乎对同时编译的内容没有影响 项目结构disk Folder project vcxp
  • 我可以将特定警告视为错误吗?

    以下是我有时在学生代码中看到的模式的简化版本 bool foobar int a int b if a lt b return true 当然 真正的代码要复杂得多 Visual Studio 报告警告 C4715 并非所有控制路径都会返回
  • .NET:SqlDataReader.Close 或 .Dispose 导致超时过期异常

    当尝试在 SqlDataReader 上调用 Close 或 Dispose 时 我收到超时过期异常 如果您有到 SQL Server 的 DbConnection 您可以使用以下命令自行重现它 String CRLF r n String
  • 为什么Windsor只能拦截虚方法或接口方法?

    我正在阅读文档 发现如果不使用接口 那么 Windsor 只能拦截虚拟方法 这是 Windsor 的限制还是 C 语言的限制 我正在寻找深入的答案 C 语言在这里完全无关 问题是拦截在运行时级别如何工作 一种技术是从类继承 实现接口并将其用
  • C++ 虚拟关键字与重写函数

    我正在学习c 并且正在学习virtual关键字 我在互联网上搜索试图理解它但无济于事 我进入编辑器并做了以下实验 期望它打印两次基本消息 因为我的印象是需要 virtual 关键字来覆盖函数 然而 它打印出了两条不同的消息 有人可以向我解释
  • Ajax 函数在重定向后不保存滚动位置

    正如标题所述 我编写了一个 ajax 函数 该函数应该滚动到用户在重定向之前所在的位置 我写了一个alert对于测试场景 它确实触发了 但滚动不断回到顶部 我在这里做错了什么 JavaScript ajax type GET url Adm
  • DataContractJsonSerializer 包含元素类型子类型的通用列表

    我要使用DataContractJsonSerializer用于 JSON 序列化 反序列化 我在 JSON 数组中有两种对象类型 并希望将它们都反序列化为相应的对象类型 具有以下类定义 DataContract public class
  • 当 C 中没有足够的内存用于静态分配时会发生什么?

    当您动态分配内存时 例如malloc 1024 sizeof char 结果指针设置为NULL如果没有足够的可用内存来满足请求 当没有足够的内存来满足静态分配时会发生什么 例如char c 1024 char c 1024 不一定是静态分配
  • 为什么 C++20 范围不只提供管道语法?

    我知道这个问题听起来很奇怪 所以这里有一些背景信息 最近 我很失望地了解到 C 20 范围内的映射缩减并不像人们所期望的那样工作 即 const double val data transform accumulate 不起作用 你必须这样
  • 验证域用户凭据

    我需要一种方法来验证 Windows 上本机 C 的用户 密码对 输入的是用户名和密码 用户可以是 DOMAIN user 格式 基本上我需要编写一个函数 如果用户 密码是有效的本地帐户 则返回 true 第1部分 如果用户 密码在给定的域
  • Silverlight 4 PLINQ

    我有一个非常简单的问题 是否可以将 PLINQ 与 Silverlight 4 一起使用 因为它似乎不存在于最常引用的程序集中 它不受支持 但您可以在这里投票 http dotnet uservoice com forums 4325 si
  • 如何在 C 预处理器中可靠地检测 Mac OS X、iOS、Linux、Windows? [复制]

    这个问题在这里已经有答案了 如果有一些跨平台 C C 代码需要在 Mac OS X iOS Linux Windows 上编译 我如何在预处理器过程中可靠地检测到它们 大多数编译器都使用预定义的宏 您可以找到列表here http sour
  • std::iota 的 iota 代表什么?

    我假设 i 是增量 a 是分配 但我无法弄清楚或找到答案 而且 它看起来与非标准非常相似itoa我认为这很令人困惑 C iota is not an acronym or an initialism It is the word iota
  • 您的 C++ 程序中是否仍然存在内存分配失败问题 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在为公司写一些指导方针 我需要回答一些棘手的问题 这一项是相当困难的 解决方案可以是 根本不跟踪 确保使用 new 分配对象 这会在分配失败
  • 如何在您的网站中连接两个人

    有一款名为 Verbosity 的游戏 这是一款有目的的游戏 位于此链接上www gwap com 在游戏中 他们随机连接两个玩家互相玩 游戏是玩家1应该向他的搭档 玩家2 描述一个单词 而玩家2应该猜测这个单词 我正在尝试建立一个网站来执
  • ASP.NET API:尚未为此 DbContext 配置数据库提供程序

    我正在尝试从我的 Net Core API 项目连接到 MySql 数据库 这是我的上下文类 public class MyContext DbContext public MyContext public MyContext DbCont
  • File.Move 的原子性

    我想将目录中的文件重命名为原子事务 该文件不会更改目录 该路径作为 NTFS 文件系统的 UNC 路径提供 可能位于服务器 03 或 08 上 File Move 对于这些目的来说是原子的吗 例如 它要么成功完成 要么失败 以使原始文件仍然

随机推荐

  • 使用 numpy 进行矢量化基数排序 - 它能击败 np.sort 吗?

    numpy 没有yet https github com numpy numpy issues 6050有一个基数排序 所以我想知道是否可以使用预先存在的 numpy 函数编写一个基数排序 到目前为止 我有以下方法 它确实有效 但比 num
  • 可变参数模板参数包扩展用于函数调用

    我正在寻找类似的东西 template lt typename T gt void func T t template lt typename Parms gt void anyFunc Parms p func
  • 在哪里可以找到 php.ini?

    今天我需要安装 IBM DB2 库 我完成了 make install 的所有步骤 并在中找到了 ibm db2 so PHP HOME lib extensions somecomplicatedname ibm db2 so 最重要的是
  • 实现自定义滚动条

    我对 Angular 世界还很陌生 我正在开发一个涉及 Angular JS 的应用程序 我遇到了实现自定义滚动条的要求 我的应用程序也有 jQuery 但到目前为止我的项目的大部分都使用 Angular 那么我应该使用一些 jQuery
  • Java中抽象类调用子类构造函数

    public abstract class Parent private Parent peer public Parent peer new to call overloaded constructor public Parent Str
  • PuLP目标函数中ABS()的数学运算

    我正在尝试在 PuLP 中构建 LP 问题 因为我是 python 新手 想知道如何使用绝对值运算编写目标函数 到目前为止 我一直在使用 AMPL 来制定问题 现在想将整个模型转换为 Python 谁能帮我理解如何编码 SUM ABS x
  • RabbitMQ 中多个消费者如何订阅同一主题并获取同一消息

    首先 我知道类似问题已经有答案了here https stackoverflow com questions 10620976 rabbitmq amqp single queue multiple consumers for same m
  • 以 BFS 风格将深度的嵌套字典(森林)写入文本文件

    继续我的旧问题 将深度巨大的嵌套字典 森林 写入文本文件 https stackoverflow com questions 51500003 writing nested dictionary forest of a huge depth
  • 全文检索中的多个同义词词典匹配

    我正在尝试在 PostgreSQL 8 3 中进行全文搜索 它工作得非常好 所以我添加了同义词匹配 例如 bob robert 使用同义词词典 这也很好用 然而 我注意到它显然只允许一个词有one代名词 那是 al不可能是albert or
  • XLAM / XLA Addins:有更好的方法吗?

    这篇文章是关于在不创建链接的情况下安装 XLAM 的 每个人都讨厌链接 考虑一下这个简单的插件 Public Function UDF HELLO x UDF HELLO Hello x End Function 将此代码 而不是其他任何内
  • 如何使用 knp 实验室可翻译学说行为访问翻译属性

    我正在使用可翻译的学说 并且我有一个具有可翻译属性的实体 这看起来像这样 class Scaleitem Must be defined for translating this entity use ORMBehaviors Transl
  • Ubuntu 中的 Eclipse:悬停背景颜色属性在哪里?

    我更改了悬停代码时可见的背景颜色 黑色 例如 当您将鼠标悬停在某个方法上时 您会在一个框中看到其签名 我的意思是那个盒子的背景颜色 我想更改它 但我在任何地方都找不到该属性 你知道它是什么财产吗 它应该是一个全球财产 因为其他框使用相同的背
  • 检查三个布尔值中是否至少有两个为 true

    最近一位面试官问了我这个问题 给定三个布尔变量 a b 和 c 如果三个中至少有两个为 true 则返回 true 我的解决方案如下 boolean atLeastTwo boolean a boolean b boolean c if a
  • Array.prototype.sort() 时间复杂度是多少?

    根据 Mozilla 文档 无法保证排序的时间复杂度和空间复杂度 取决于实施 至少可以安全地假设它不是O n 2 有没有关于它如何实施的更详细的数据 谢谢 火狐使用归并排序 https medium com nandodrw merge s
  • Magento Mage::getUrl 带后缀

    当 url 具有 html 后缀时 在 magento 中处理生成 url 的正确方法是什么 例如 获取以下产品 url 类别 产品 html 你不能简单地做Mage getUrl mycategory myproduct html or
  • 通过填充 UIImageView 图层边框宽度的颜色来动画进度

    我有 UIImageView 我把它做成了带有宽度层的圆形 如下图所示 用户可以更新图像并上传新图像 上传图像时我有一个进度回调 我想要的是在上传图像时用颜色对边框进行动画处理 例如 当用户单击上传时 边框从顶部开始为绿色 并根据进度填充宽
  • 自定义函数缺少参数 2

    因此 我尝试在保存更改后将原始的 post title 替换为同一篇文章右侧的自定义字段 但是 我在帖子页面上收到以下错误 警告 第 113 行 PATH public html wp content themes THEME functi
  • Chocolatey的正确使用(包更新/版本管理)

    注意 这个问题对于 Chocolatey 0 9 8 及以下版本有效 后来的版本从PowerShell脚本完全重写为C 应用程序 并且包管理的整个过程得到了很大的改进 我一直在使用巧克力味一段时间了 一开始我很兴奋 但过了一段时间我不确定它
  • 收到无效的 JSON 负载。未知名称 click_action

    所以我目前正在开发一个 PWA 我现在正在与推送通知我已经能够使用以下非常简单的 JSON 结构接收后台和前台通知 message token aValidToken notification title New Content body
  • 拦截MEF中的依赖关系

    是否可以在 MEF 处理依赖项请求之前拦截 MEF 中的依赖项请求 这对于实现装饰器和高级生命周期管理非常有用 就像是 catalogue AddInterceptor