温莎城堡:如何更新组件注册

2024-01-12

如果我在配置中定义了:

container.Register(
   Component.For<X.Y.Z.IActivityService>()
            .ImplementedBy<X.Y.Z.ActivityService>()
            .ServiceOverrides(ServiceOverride.ForKey("Listeners").Eq(new [] { typeof(X.Y.Z.DefaultActivityListener).FullName }))
            .LifeStyle.Transient
);

我希望扩展此配置并向 Listeners 数组属性添加一个新项目,以便最终配置有效:

container.Register(
   Component.For<X.Y.Z.IActivityService>()
            .ImplementedBy<X.Y.Z.ActivityService>()
            .ServiceOverrides(ServiceOverride.ForKey("Listeners").Eq(new [] { typeof(X.Y.Z.DefaultActivityListener).FullName, "MyOtherListenerID" }))
            .LifeStyle.Transient
);

第一次注册组件时我必须知道“数组”的内容,还是可以检索组件注册并添加到其中?

我希望使用装饰器模式来实现我的配置,以便我可以构建我的容器,然后根据不同场景的需要对其进行扩展。这意味着我需要能够访问已配置的组件并向其添加。

本来想上课DefaultConfig返回默认设置,然后返回多个设置之一”DecoratedConfig“类,这将扩展默认配置。

所以我会

IWindsorContaner c = new DecoratedConfig(new DefaultConfig()).InitialiseContainer();

DefaultConfig将设置ActivityService with a DefaultActivityListener(如示例所示)。

DecoratedConfig会认识到ActivityService已经创建并将其自己的监听器实现添加到Listeners阵列上ActivityService.

Thanks.


订阅Kernel.ComponentModelCreated事件。您可以从那里更改任何组件参数。看this http://www.castleproject.org/container/documentation/trunk/advanced/extendingit.html。事实并非如此have是一个做这个的设施,但是很方便。

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

温莎城堡:如何更新组件注册 的相关文章

  • 在项目之间共享自定义 PHP 代码的最佳方式

    我正在开发一个分布式环境 主要是使用 PHP 我的很多项目共享一些相同的代码 例如我的日志代码 基于 log4php 但添加了一些自定义内容 我可以在每个项目中复制粘贴此代码 但自然地 如果我更改其中的任何内容 我需要将其重新粘贴到各处并
  • 如何在 Angular 4 中创建分页组件? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有一个 API 端点 例如 list students page 5 rows 10带分页参数page and size 我想创建一个 a
  • 类型的构造函数:找不到“Namespace.type”

    我使用 Castle Windsor 作为 IOC 所以我试图在 HTTPHandler 的构造函数中解析服务类型 我不断收到此错误 类型的构造函数 找不到 Namespace type 我的配置具有以下服务类型条目 IDocumentDi
  • 反应孩子与父母的沟通问题

    我正在构建一个猜谜游戏 其中问题和选择逻辑位于名为 问题 的组件中 我无法让应用程序读取问题代码 我希望应用程序中的状态根据子组件中的选择进行更新 我一直在尝试对解决方案进行逆向工程ReactJS中如何将数据从子组件传递到父组件 https
  • android 权限 - CHANGE_COMPONENT_ENABLED_STATE

    我需要在我的代码中使用 android permission CHANGE COMPONENT ENABLED STATE 权限 因为我需要更新我的项目的另一个 apk 的组件 但它似乎并不真正适合我 这是我的代码
  • ReactJs 组件结构 - 模态内的表单

    我正在使用react bootstrap 模态 表单和按钮 如果需要单击按钮的功能 应该打开其中包含表单的模式 填写完表格后 单击一个按钮 位于modal 它验证表单数据并通过 REST API 发布它 我已经足够了解我的组件拆分应该如下
  • iFrame 中的 Angular2 不安全资源 URL 与 DomSanitationService

    背景 我正在为我们正在研究的过渡策略进行概念验证 该策略将在我们致力于将现有功能转换为 Angular 的同时将 旧 Web 应用程序引入 iFrame Issue 我遇到的问题是尝试在 iFrame 上设置 src 标记 我正在尝试使用
  • 如何在Angular2中调用其他组件的方法

    在 addTo component ts 组件中 我有一个方法和构造函数 如下所示 Method addTo ServicePlanId basketSection Constructor constructor private route
  • 作为属性的自定义类的数组

    我试图使用自定义类的数组作为我的组件的属性 但问题是这些值没有保存到组件中 这意味着如果我设置值 保存所有内容并再次打开项目 组件的值消失 我的代码如下所示 unit Unit1 interface uses Windows ExtCtrl
  • 明确的控制不会处置它们——风险是什么?

    有多个线程 a https stackoverflow com questions 1757116 remove tabpage dispose or clear or both b https stackoverflow com ques
  • Castle Windsor - 将泛型实现解析为基本类型

    我正在尝试使用 Windsor 作为工厂来提供基于子类型的规范实现XAbstractBase 在我的例子中是一个抽象消息基类 我有如下代码 public abstract class XAbstractBase public class Y
  • WP 用户注册 - 也可以立即选择他/她的密码

    这是一个非常简短的前端注册指南 但我在密码方面遇到了一个小问题 我禁用了用户注册时发送的带有密码生成的电子邮件 Don t Send Notification Email To Registered User if function exi
  • 限制 WooCommerce 上的域名注册

    如何限制用户电子邮件对 WooCommerce 注册中特定域的访问 我发现这段代码可以做到这一点 但由于某种原因它在 WooCommerce 注册表单上不起作用 如果我进入 WP 登录页面 它就会起作用 任何帮助表示赞赏 function
  • Castle Windsor - 如何根据构造函数参数解析组件

    假设我有一个这样的组件 public class MyComponent public MyComponent string name 我基本上希望在解析它时将提供的构造函数参数作为组件标识符的一部分 如果您从未使用该组参数解决它 它将实例
  • 如何在 Laravel 5.4 中加载 Vue 组件?

    我已经运行 npm run watch 并收到了消息 This dependency was not found in resources assets js app js To install it you can run npm ins
  • 如何使用温莎城堡注册通用装饰器?

    我需要装饰一切基于ICommandHandler
  • Angular 2在实例化子组件之前解析根组件

    当我刷新网络应用程序时 我希望它在实例化任何组件或路由之前请求潜在的登录用户数据 如果找到用户的数据 我想将其注入到我的所有其他子组件所依赖的服务中 场景 假设我有 3 个组件 应用程序 ROOT 主页和关于 如果我将此代码放在 About
  • 使用另一个 MEF 程序集中的类而不引用它

    我有 2 个 MEF 组件 设其为A成分和B成分 我需要的是能够从组件 A 中的组件 B 访问一个类 而不需要引用它 然后我想手动实例化该类的对象 目前我看到 MEF 允许使用 Import 自动实例化对象 它使用需要引用的接口 我可以使用
  • Angular 2 错误:未处理的 Promise 拒绝:模板解析错误:多个组件:

    几个月前 我使用旧测试版开发了一个 Angular2 应用程序 gt 目前 我正在将另一个应用程序迁移到最新版本 RC5 版本 的新版本 到目前为止没有出现任何问题 直到我收到以下错误 zone js 484 Unhandled Promi
  • Delphi - 自XE8以来如何正确注册图形类?

    我正在编写一个 Delphi 包 它提供了一个新的自定义 TGraphic 对象 允许读取 VCL 组件 如 TImage 中的新图像格式 我最初使用 RAD Studio XE7 开发了这个包 并且运行良好 然而 我最近迁移到了较新的 R

随机推荐

  • 如何使用 phpstorm 和 xdebug 为 symfony2 设置远程调试

    Problem 我希望能够调试我的 symfony2 项目 我想成为 能够在我的代码中设置断点 运行远程调试并 能够在交互时单步执行代码中的所有断点 与我的申请 背景信息和当前设置 我使用的IDE是phpstorm Apache 和 myS
  • 如何清除 CrashLoopBackOff

    当 Kubernetes Pod 进入CrashLoopBackOff状态 您将解决根本问题 如何强制重新安排时间 要应用新配置 应创建新 Pod 旧 Pod 将被删除 如果您的 pod 是由以下人员自动创建的Deployment or D
  • 组名称无效:组名称必须以单词字符开头

    当我将 Regex 类与正则表达式一起使用时 我收到以下异常 named a asdf System ArgumentException parsing named a asdf Invalid group name Group names
  • MySQL SHOW COLUMNS 返回顺序

    我需要找到特定表中的列 这没有问题 SHOW COLUMNS FROM tablename LIKE ColumnPrefix 但我需要知道它们将返回什么顺序 最好选择按字母顺序对结果进行升序排序 我没有使用过运气ORDER BY 有任何想
  • 何时使用 mysql_real_escape_string?

    我什么时候应该使用 mysql real escape string 仅当我将行插入数据库时 才出现这种情况吗 或者只有当我有用户输入时 Thanks 每当您构建将针对数据库运行的查询时 您都应该使用 mysql real escape s
  • 如何使用 .htaccess 创建干净的 url

    这是我的 htaccess 代码 RewriteEngine On RewriteRule a zA Z0 9 movie php name 1 RewriteEngine on RewriteCond HTTP HOST www exam
  • MySQL如何存储数据

    我环顾谷歌但没有找到任何好的答案 它将数据存储在一个大文件中吗 它使用什么方法使数据访问比仅仅读写常规文件更快 这个问题有点老了 但我还是决定回答它 因为我一直在对此进行一些挖掘 我的答案是基于linux文件系统 基本上 mySQL 将数据
  • url 重写中附加文档根

    我想重写网址http www example com books PHP wrox http www example com books PHP wrox to http www example com manuals opensource
  • 使用 JIT 编译器的 Collections.emptyList 和空 ArrayList 的性能

    使用之间是否有性能差异Collections emptyList 或一个空的ArrayList 特别是在使用 JIT 编译器时 我可以想象 例如 JIT 编译器不会执行内联或静态方法调用 因为执行的方法取决于类型 Edit我知道Collec
  • 使用 matplotlib 的plotfile函数时用散点图代替线图

    我知道plotfile的一般用法 import matplotlib pyplot as plt plt plotfile csvfile sometuple 但这默认会生成线图 我想要一个散点图 我需要传递给这个方法一些特殊的参数吗 我已
  • 如何使用 Kotlin 协程的事务来增加实时数据库中的计数器?

    要增加实时数据库中的数量 我可以简单地使用 override fun incrementQuantity flow try heroIdRef update quantity FieldValue increment 1 await emi
  • Laravel 集合搜索不区分大小写

    我正在搜索一个集合 我希望此搜索不区分大小写 或者至少将集合值更改为小写 我怎样才能做到这一点 value strtolower value collection collection gt where attribute value va
  • 模板方法在哪里实例化?

    为了使用带有智能指针的不完整类型 例如boost scoped ptr 必须在相应的 CPP 文件中为父类显式定义一个空的析构函数 例子 H file class Foo public Foo private class Pimpl boo
  • 条件运算符慢吗?

    我正在查看一些代码 每个案例都有一个巨大的 switch 语句和 if else 语句 并立即感受到优化的冲动 作为一名优秀的开发人员 我始终应该着手获取一些硬性计时事实 并从三个变体开始 原始代码如下所示 public static bo
  • 在 IProject - Eclipse 中搜索文件

    我需要找到 Eclipse 项目中存在的特定文件 该文件位于项目的类路径中 I have IProject实例但不知道如何获取IFile实例 The IProject接口扩展了IContainer其中有几个findMember方法 你得到一
  • Appengine 模块:使用dispatch.yaml 进行路由不起作用

    我正在使用模块 但我无法按照此处所述的方式使用路由https developers google com appengine docs python modules routing https developers google com a
  • 使用 Plotnine 按排序顺序绘图

    我有一个正在尝试绘制的数据框 我希望数据点在图中沿 x 轴按排序顺序显示 我尝试在将数据帧传递给 ggplot 之前对其进行排序 但是我的订单被忽略 我的数据如下 我想按 值 属性排序 var1 var2 value direction 0
  • Firebase 无法部署

    我有一个 Firebase 项目 我已经维护了几个月 没有遇到任何问题 我尝试过跑步firebase deploy多次无果 我用谷歌搜索了它 并在 SO github 和其他网站上进行了搜索 found https stackoverflo
  • 使用 Hibernate 3.6.0.Final 禁用保存/更新时的 Hibernate 验证

    我刚刚开始将使用 Hibernate 3 5 6 Final 的应用程序升级到 3 6 0 Final 并且出现了一些问题 最后一个问题我找不到解决方案 当通过 Hibernate 保存 更新对象时 3 6 0 Final 似乎会自动打开
  • 温莎城堡:如何更新组件注册

    如果我在配置中定义了 container Register Component For