如何覆盖温莎城堡中注册的组件?

2024-03-14

我刚刚开始使用 Windsor,所以请温柔点:) 我有一个场景,我希望能够覆盖/替换放置在 Windsor 容器内的组件。继续阅读...

在我的产品代码中,我希望能够注册一个实现基类的组件,并使用容器来解析实现者。到目前为止,使用

container.Register(Component.For<LoggerBase>().ImplementedBy<DebugLogger>());

and

container.Resolve<LoggerBase>();

在我的测试中,我想添加一个存根/模拟实现来覆盖“DebugLogger”实现,以便当我的产品代码调用时container.Resolve<LoggerBase>();它得到了重写的实现。

欢迎任何指点!


您不应该沿着这条路走下去,而应该针对不同的场景使用不同的容器实例。每个实例可以进行不同的配置。这就是 DI 容器的全部意义。

不过,一般来说DI 容器不应用于单元测试 https://stackoverflow.com/questions/1465849/using-ioc-for-unittesting/1465896#1465896.

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

如何覆盖温莎城堡中注册的组件? 的相关文章

  • Postsharp 不登录跟踪级别

    我喜欢在跟踪级别记录一些 Postsharp 消息 不幸的是 日志到这个级别没有打印任何输出 所有其他级别都在工作 与控制台或 NLog 后端或从其他类登录时的行为相同 如何启用跟踪级别 应用程序 xaml cs Log Attribute
  • 使用 TCP 套接字在本地代理视频

    我一直对向媒体浏览器添加对视频播客的支持非常感兴趣 我希望用户能够浏览可用的视频播客并从互联网上流式传输它们 这真的很容易 因为媒体播放器等将愉快地播放存在于云中的文件 问题是我想在本地缓存这些文件 因此同一集的后续观看将不涉及流式传输 而
  • 是否保证 sizeof(T[N]) == N * sizeof(T) ?

    我一直假设 N 个元素类型的数组的大小T 由返回sizeof保证正好是N次sizeof T The 对这个问题的评论 https stackoverflow com questions 46457449 is it always the c
  • 线程独占数据:如何存储和访问?

    NET 中是否有可能将对象实例绑定到线程的当前执行上下文 这样在代码的任何部分我都可以做类似的事情CurrentThread MyObjectData DoOperation 并确保我访问特定于线程的数据 谢谢 你可以看一下线程静态属性 h
  • 命名管道客户端无法连接到作为网络服务运行的服务器

    我有一个服务在网络服务帐户下运行 该服务只是设置一个命名管道并侦听连接 NamedPipeServerStream listeningPipe new NamedPipeServerStream ourservicepipe PipeDir
  • .NET 中的 Class.forName() 等效项?

    动态获取对象类型然后创建它的新实例的 C 方法是什么 例如 如何在 C 中实现以下 Java 代码的结果 MyClass x MyClass Class forName classes MyChildClass newInstance Lo
  • 值类型如何实现引用类型

    我遇到了一个值类型正在实现 ref 的场景 类型 只是想知道这怎么可能 幕后发生了什么 结构体是值类型 接口是引用 类型但结构可以实现接口而不会出现任何错误 有什么想法吗 提前致谢 实际上 它同时以两种不同的方式进行 首先 任何值类型都可以
  • 如何在Unity Inspector中创建多维数组?

    如何在 Unity Inspector 中创建枚举多维数组并使其可序列化 以便我可以从不同的脚本调用它 public enum colors red blue green yellow cyan white purple public in
  • 如何生成可变参数包?

    给定不相关的输入是否可以生成非类型参数包 我的意思是 我想改变这一点 template
  • 将旧的 Unity 代码升级到 Unity 5

    在触发按钮上播放动画的代码似乎不起作用 我在 Youtube 上看到了一个视频 内容很简单animation Play 它可以在该视频上运行 但我无法让它在我的计算机上运行 我做错了什么还是团结改变了它 请帮助我在网上找不到解决方案 所有
  • 如何将 Boost Spirit 自动规则与 AST 结合使用?

    编辑 当我想在另一个规则上使用它时 我扩展了 sehe 的示例以显示问题 http liveworkspace org code 22lxL7 http liveworkspace org code 22lxL7 17 我正在尝试提高 Bo
  • WCF 服务中的缓冲区大小

    我们有一个 WCF 服务 它执行某些存储过程并将结果返回给 silverlight 客户端 某些存储过程最多返回 80K 行 下面给出的是 web config 中服务的设置
  • 快速将文本附加到文本框

    我有一个BackgroundWorker正在发布消息的线程 使用BeginInvoke在 GUI 中的文本框中 方法 write debug text 在文本框中显示文本使用AppendText并将文本写入Console 外观上是这样的Ba
  • 在链表程序中使用模板时重载 C++ 中的 << 运算符

    我正在尝试实现一个链接列表 但是当我尝试重载 include
  • 为什么我无法通过 lambda 捕获“this”指针?

    考虑以下代码 class A public void foo auto functor this A a this auto functor a The compiler won t accept this instead of a a g
  • 调用泛型类的方法

    这是上下文 我尝试编写一个映射器来动态地将域模型对象转换为 ViewModel 对象 我遇到的问题是 当我尝试通过反射调用泛型类的方法时 出现此错误 System InvalidOperationException 无法对 Contains
  • 如何从 C# 中的 Web Api 方法正确获取字节数组?

    我有以下控制器方法 HttpPost Route SomeRoute public byte MyMethod FromBody string ID byte mybytearray db getmybytearray ID working
  • 如何使用实体框架设置连接字符串

    我将 EF6 与 MySQL 结合使用 并有一个用于多个数据库的模型 我希望能够在我的表单中设置连接设置 如何以编程方式设置模型的连接字符串 你应该使用EntityConnectionFactory这就是您所需要的 public strin
  • 推断“x => { throw .. }”的 Lambda 与重载方法中的 Func 匹配吗?

    我不明白为什么 C 最终在以下 LINQPad 代码中执行不正确的扩展方法 void Main Actual Sync Action Expected Sync Action Run x gt x Dump Actual Async Tas
  • 从 C/C++ 程序进行 Ping

    我想编写一个 C 或 C 程序 给定一个 IP 地址 对其进行 Ping 然后根据 Ping 是否成功执行进一步的操作 这个怎么做 尽情享受Ping 页面 http www ping127001 com pingpage htm 其中有一个

随机推荐

  • 使用 libx264 压缩一组图像时,为什么帧速率会影响最终输出大小?

    我正在使用 ffmpeg 使用 libx264 编解码器将一组图像编码为短延时视频 我的第一次尝试以 30 FPS 的速度进行编码 使用 ffmpeg r 30 pattern type glob i jpg vcodec libx264
  • SoapUI 更改(禁用)Internet Explorer 的代理设置

    已安装肥皂UI 4 5 1 当我启动soapUI时 它禁用了IE 8中的所有复选框Internet Options gt Connection gt LAN Settings 如果我在soapUI中输入代理 gt File Preferen
  • 如何在 Yii 查询生成器中使用 LIKE

    如何使用 YIi 查询构建器构建此查询 SELECT FROM table WHERE type item 2 AND name item LIke name 我尝试过这样 return Yii app gt db gt createCom
  • .net core应用程序中如何进行基于组的授权?

    净核心应用程序 我的要求是添加基于组的授权 我是 Azure AD 的用户 我属于一些名称以 BR 和 AR 开头的组 属于 AR 组的用户只能访问我的 API 目前我的客户端应用程序是 Swagger 我仅通过 swagger 访问 AP
  • 找不到存储的图像

    我目前正在使用此代码来存储图像 可能是错误的 路径是这样的 public static final String IMAGE DIR test 保存图像的代码如下 public class ImageSaver private String
  • 如何在Python中模拟链式函数调用?

    我正在使用mock http www voidspace org uk python mock 由 Michael Foord 编写的库 用于帮助我在 django 应用程序上进行测试 我想测试我是否正确设置了查询 但我认为我不需要实际访问
  • Release 文件夹中的 vshost.exe 文件?

    为什么会为我的应用程序的发布版本生成 appname vshost exe 文件 我可能会补充一点 我正在使用外部 dll 库和一些不安全的代码 更有趣的是 我从 Release 文件夹启动的应用程序无法正常工作 从 Debug 文件夹启动
  • 自动在firestore索引中添加索引

    Can i 自动地添加索引在火库索引 我的应用程序使请求过滤器 and refers to 火库 for 显示结果 但如果firestore无法显示结果 在控制台中我看到link to 火库 for 添加索引 所以如果我push on th
  • 必须在 ConnectionDriverName 属性中指定 JDBC Driver 或 DataSource 类名“如何解决?”

    概述 这是我的第一个关于 Websphere 7 Server JPA 1 0 EJB Derby Database 的教程 第一 我的数据源名称是EJB3BANK 我的目标数据库是SHOP 第二 这个持久性 xml file
  • DropBoxManager 用例?

    我注意到一个DropBox管理器 http d android com reference android os DropBoxManager html自 FroYo API 8 以来已在 Android API 中引入 它看起来像是一个替
  • 简单测试 Spring Boot 安全性

    我正在努力测试受 Spring Security 保护的 URL 的访问控制 配置如下 http authorizeRequests antMatchers api user user authenticated antMatchers a
  • 如何加密 iPhone 上的 CoreData 内容

    我想将一些信息静态加密存储在 iPhone 应用程序上 我是 iPhone 开发新手 对 CoreData 以及它如何与视图集成不太熟悉 我的数据为 JSON 但我可以轻松地将其放入 SQLITE3 数据库或任何其他支持数据格式中 我将采用
  • Bootstrap 导航栏通知徽章

    我正在建立一个网站 允许用户互相发送消息 我使用 AJAX 收到了许多新消息 因此 我只需要找到一种方法来显示badge在用户的导航栏中 这是我想要实现的目标 我想要badge将使用创建 span class badge badge pil
  • ng-bootstrap 日期选择器不工作

    我正在尝试在我的 angular2 项目中使用 ng bootstrap 日期选择器 但出现以下错误 There is no directive with exportAs set to ngbDatepicker 这是我的代码
  • 从 URL 插入图像

    以下代码适用于大多数图像 URL 但对于此特定 URL 我收到错误 Sub test Sheets 1 Shapes AddPicture https images na ssl images amazon com images M MV5
  • 如何将侦听器附加到列表视图?

    我有一个ListView每行都有一个自定义布局TextView和三个EditText 当我单击其中的单个行时ListView一项活动启动后会将您带到另一页面 我写了一些代码 但它不起作用 代码如下所示 在适配器类 getView 方法中 我
  • Picasso 从其 URI 加载可绘制资源

    我必须展示一个drawable from res进入一个ImageView 在此应用程序中 出于某些原因我使用毕加索 在这种情况下 我需要加载drawable使用它的 URI 而不是它的 id 为此 这是我的代码 uri Uri parse
  • 如何将多个文件作为单独的数据帧读取并在列上执行计算?

    我计算单个股票的回报如下 data pd read csv r file csv data index data Date data Return data AAPL pct change 1 100 data out put Date A
  • 接收 gcm 推送通知时刷新活动

    Update GCM https developers google com cloud messaging 已弃用 请使用FCM https firebase google com docs cloud messaging How to
  • 如何覆盖温莎城堡中注册的组件?

    我刚刚开始使用 Windsor 所以请温柔点 我有一个场景 我希望能够覆盖 替换放置在 Windsor 容器内的组件 继续阅读 在我的产品代码中 我希望能够注册一个实现基类的组件 并使用容器来解析实现者 到目前为止 使用 container