如何跨多个程序集使用 WindsorInstaller 进行注册

2024-02-19

我正在使用 Castle Windsor 来处理我的依赖注入,到目前为止它一直运行良好。

然而,我现在正在尝试扩展我的项目并添加一些额外的库 - 我现在正在努力寻找利用 Castle 的最佳方法。

我目前有以下程序集

MyProject.Interfaces(包含 IDBContext 接口) MyProject.BusinessLogic(包含 Castle Windsor 实现) MyProject.DataAccess(包含 IDBContext 的实现)

我目前有一个名为 DBContextInstaller 的安装程序,它仅实现以下内容:

public void Install(IWindsorContainer container, IConfigurationStore store)
{
    container.Register(AllTypes.FromThisAssembly()
                .BasedOn<IDBContext>()
                .WithService
                .DefaultInterface()
                .Configure(reg => reg.LifeStyle.PerWebRequest));
}

我现在在这个项目中有一个新的程序集 - 让我们称之为 MyProject.UserService 并且它恰好有 IDBContext 的新具体实现。

所以我的问题 - 我如何更改我的 Container.Register 语句以使其检查多个库。注意我完全希望将来有越来越多的库添加到这个场景中。我希望这个安装程序能够找到所有实现。

TIA


您可以使用 AllTypes.FromAssemblyInDirectory...

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

如何跨多个程序集使用 WindsorInstaller 进行注册 的相关文章

  • 如何在我的类型类中访问我的服务(DependencyInjection)?

    我创建了一个服务 DependencyInjection 并在控制器上将其用作 this gt get service name gt someMethod 我想知道如何在我的表单类上使用它 这是我的课程示例形式 namespace Com
  • TinyIoC、Xamarin.iOS、链接器设置

    我正在尝试让 TinyIoC 在 Xamarin iOS 上运行 但运气不太好 我的项目链接器设置设置为 仅链接 SDK 程序集 我实际上正在做这么简单的事情 public interface IPerson int age get pub
  • IServiceLocator 接口是什么?

    据我了解 IServiceLocator 是一个抽象实际 IoC 容器的接口 我问的是与 Prism 相关的问题 我想在哪里用 Prism 替换 Unity https stackoverflow com questions 2621248
  • Spring部署期间依赖注入问题

    我正在启动一个 Primefaces Spring Hibernate 项目 并且仍在学习如何正确处理这些组件 但就在此时 我面临着一个与 spring 依赖注入相关的问题 这让我很害怕 我已经在网上寻找答案两天了 但找不到我的代码有什么问
  • 如何在控制器外部访问RequestContext?

    背景 我正在尝试将业务逻辑从控制器移至它们自己的服务中 控制器 public class AccountController Controller private readonly IAccountService accountServic
  • 在 MVC 中使用 DI 时的大量控制器构造函数参数列表

    我正在开发 ASP NET MVC3 解决方案 该解决方案使用 autofac 的依赖注入 我们的控制器由 autofac 正确创建 所有必需的对象都正确传入 这些对象通常包括服务 存储库和将域对象转换为 MVC 视图 模型的映射器 所以控
  • 将 Mockito 模拟注入 Spring bean

    我想将 Mockito 模拟对象注入到 Spring 3 bean 中 以便使用 JUnit 进行单元测试 我的 bean 依赖项当前是通过使用注入的 Autowired私有成员字段上的注释 我考虑过使用ReflectionTestUtil
  • Castle Windsor - 将泛型实现解析为基本类型

    我正在尝试使用 Windsor 作为工厂来提供基于子类型的规范实现XAbstractBase 在我的例子中是一个抽象消息基类 我有如下代码 public abstract class XAbstractBase public class Y
  • 具有通用存储库、依赖项注入和 SoC 的 EF6 Code First

    经过大量阅读和尝试之后Entity Framework最新稳定版本 6 1 1 我读到了很多关于是否使用存储库的矛盾EF6 or EF一般来说 因为它是DbContext已经提供了一个存储库并且DbSet the UoW 盒子外面 让我首先
  • ioc 和依赖注入之间的区别

    ioc 和依赖注入之间的区别 解释一下 spring 中的依赖注入 JSF 依赖注入和 spring 依赖注入有什么区别 IoC 的意思是控制反转 让我们看一些 强耦合代码 MyComponent 依赖于 Logger public cla
  • 在简单注入器中注册具有多个构造函数和字符串依赖项的类型

    我正在尝试弄清楚如何使用 Simple Injector 我在项目中使用了它 注册简单服务及其组件没有任何问题 但是 当组件具有两个以上实现接口的构造函数时 我想使用依赖注入器 public DAL IDAL private Logger
  • MVC3、Ninject、MvcSiteMapProvider - 如何将依赖项注入到重写方法

    我有一个正在使用的 MVC3 应用程序Ninject http ninject org and Mvc站点地图提供者 http mvcsitemap codeplex com 我创建了此类 MvcSiteMapProvider 使用它来动态
  • 依赖注入和 ModelStateWrapper

    在教程中使用服务层进行验证 http www asp net learn mvc tutorial 38 cs aspx产品服务的构造函数如下所示 ProductService IValidationDictionary validatio
  • 测试 - 存根服务方法未定义

    我已经在非常简单的代码上编写了一个非常简单的测试 但由于某种原因存根服务方法未定义 当我使用 Jasmine Spy 时 它可以工作 但对于这样一个简单的任务 有人可以解释一下为什么会发生这种情况吗 我删除了 import 语句只是为了减少
  • 有没有一种简单的方法来为每个类创建一个记录器实例?

    我现在使用静态方法来记录 因为我发现在Android中登录非常容易 但是现在我需要为不同的类配置不同的appender 所以我对静态记录方法有一个问题 我读了Log4J 创建 Logger 实例的策略 https stackoverflow
  • 依赖注入来解决与运行时数据的依赖关系

    我正在为我的 Web api 项目使用简单的注入器 我有一项服务需要会话令牌才能实例化 public class CustomerService public CustomerService Auth auth IRepositoryFac
  • 如何在 BenchmarkDotNet 中使用 DependencyInjection?

    我想在我现在正在使用的一些遗留代码上使用 BenchmarkDotNet 它是用 C Net462 编写的 这是一个庞大 古老且复杂的系统 我想对某些特定类中的一些方法进行基准测试 这些类使用依赖注入 我不确定如何做到这一点 到目前为止我看
  • 实体框架 4 DB 优先依赖注入?

    我更喜欢创建自己的数据库 设置索引 唯一约束等 使用 edmx 实体框架设计器 从数据库生成域模型是轻而易举的事 现在我有兴趣使用依赖注入来设置一些存储库 我查看了 StackOverflow 上的一些文章和帖子 似乎重点关注代码优先方法
  • 为什么在 CDI 中使用构造函数而不是 setter 注入?

    我在这里找不到任何合理的答案 所以我希望它不是重复的 那么为什么我应该更喜欢 setter 或构造函数注入而不是简单的注入 Inject MyBean bean 如果您需要在类初始化期间对注入的 bean 执行某些操作 我会使用构造函数注入
  • 当我转向依赖注入时,using 语句会发生什么情况

    我目前正在使用以下代码 public class MyProvider public MyProvider public void Fetch using PopClient popClient new PopClient 因为我希望能够对

随机推荐

  • 给定一个字符串,找到元音和辅音数量相同的最长子串?

    给定一个字符串 找到元音和辅音数量相同的最长子串 澄清 我不确定我们是否可以生成一个新字符串 或者子字符串必须是原始字符串的一部分 到目前为止我有这个 代码片段 Scanner scanner new Scanner System in S
  • R 的丰富 Ctags

    是否有任何使用记录ctags http ctags sourceforge net 与 R 这有用吗 实施起来会不会很困难 具体来说 我刚刚开始使用 Vim 如果能够在一个文件中编写 R 函数 在另一个文件 例如 Rnw 文件 测试文件或其
  • 为什么 PayPal 的 IPN 模拟器不能使用 https 地址?

    在 PayPal 的 IPN 模拟器中 如果我输入 https URL 则会收到一条错误消息 很抱歉 我们无法发送 IPN 但是 在 http URL 上它工作正常 我该如何解决这个错误 这可能是因为您的 SSL 证书是自签名的或被 Pay
  • Java Calendar.DAY_OF_WEEK 给出了错误的日期

    下面的代码有什么问题 对于一年中的任何日期 它给出的日期都是错误的 import java util Scanner import java util Calendar public class Solution public static
  • 请求在 chrome 中偶尔会停滞很长时间

    Ajax 请求有时会在 Chrome 中长时间停滞 我终于成功地复制了它并保存了所有必要的相关数据 如果有人可以帮助我的话 可以在这里发布 The timeline from Chrome Dev Tool shows the reques
  • JavaScript ArrayBuffer 切片在 Safari 9.1.2 中明显损坏

    Safari 9 1 2 10601 7 7 中的基本 JavaScript 功能似乎被破坏 也许我只是做错了什么 正在寻求有关如何度过这一切的建议 有问题的函数是ArrayBuffer prototype slice https deve
  • llvm/clang 编译错误,内存耗尽

    我正在尝试在我的 ubuntu 14 04 虚拟机 具有 2GB 内存 上构建最新的 llvm clang 代码 我所做的是正常的配置 制作过程 这两个命令没有任何参数 最后 我有以下错误 llvm 4 链接 Debug Asserts 可
  • 如何使用 laravel 5.1 使用更新记录的 user_id 填充 modded_by ?

    使用 Laravel 5 1 时 我尝试创建一个观察者 它将自动更新以下 3 列 created by 当创建的记录 不再更新 时填充 Modified by 每次修改记录时填充新值 purged by 软删除记录时填充一个值 我知道 El
  • 尽管有 SecurityConfig,Spring Security 仍会阻止 POST 请求

    我正在开发一个基于 Spring Boot 的 REST API spring boot starter web 我使用Spring Security spring security core e spring security confi
  • 调试 MFC:“mfc100.dll”找不到或打开 pdb

    我正在尝试在调试时进入 MFC 源代码 但是 Visual Studio 显然在加载适当的符号时遇到问题 C WINDOWS symbols dll mfc100 i386 pdb PDB 与图像不匹配 我检查了其他问题 通常建议启用 符号
  • Rust 如何保证内存安全并防止段错误?

    我一直在寻找一种可以学习的语言 并且我发现 Rust 变得非常流行 Rust 有两件事给我留下了深刻的印象 内存安全和防止段错误 Rust 是如何实现这一点的呢 例如 Rust 和 Java 之间的哪些差异使得 Rust 具有安全功能 Ru
  • 如何将小型 ORC 文件组合或合并为较大的 ORC 文件?

    SO 和网络上的大多数问题 答案都讨论使用 Hive 将一堆小 ORC 文件合并为一个较大的文件 但是 我的 ORC 文件是按天分隔的日志文件 我需要将它们分开 我只想每天 汇总 ORC 文件 HDFS 中的目录 我最有可能需要用 Java
  • 指针和指针变量有什么区别?

    我知道这是非常基本的 但对我来说有点困惑 我读了 a pointer无非是一个address and a 指针变量只是一个变量 可以存储一个地址 当我们存储变量的地址时i在指针变量中p 我们说p 指着 i int i p i p指着i 为了
  • C++:打印双精度的十六进制表示

    有没有一种简单的方法来操作 std cout 以便它以十六进制表示形式打印双精度数 换句话说 相当于 printf PRIx64 reinterpret cast
  • .Net IP 地址 IPv4

    我有以下代码 Dim ipAdd As IPAddress Dns GetHostEntry strHostname AddressList 0 Dim strIP As String ipAdd ToString 当我转换为字符串而不是像
  • 在 MATLAB GUI 中显示分析结果

    我的问题是这样的 我有一个 MATLAB GUI 我希望运行它时得到的分析结果显示在我的 GUI 而不是命令窗口中 我尝试使用列表框来显示结果 因为会自动为列表框创建滑块 但它不起作用 如何显示数据 也许使用静态文本框 首先 您必须确保禁止
  • symfony swiftmailer:邮件未在产品环境中发送

    我有一个 symfony 2 8 应用程序 并实现了 fosuserbundle 在里面dev环境中 注册确认邮件已发送 但未在prod环境 没有日志消息 smtp 配置正确 科幻版本 2 8 1 swiftmailer bundle 版本
  • 如何通过javascript将浏览器滚动到所需的元素?

    问题很简单 如何通过javascript将浏览器滚动到所需的元素或所需的位置 非常感谢您的帮助 对于一个元素 document getElementById id scrollIntoView 具有跨浏览器支持 http www quirk
  • 在会话中存储密码安全吗? [复制]

    这个问题在这里已经有答案了 我需要在会话中经常使用密码 我正在使用由密码加密的密钥来加密我的用户数据 这就是我的问题 储存安全吗纯文本php 会话中的密码 不是 cookie 所以非客户端 有没有更好的办法 或者我应该每次都询问我的用户密码
  • 如何跨多个程序集使用 WindsorInstaller 进行注册

    我正在使用 Castle Windsor 来处理我的依赖注入 到目前为止它一直运行良好 然而 我现在正在尝试扩展我的项目并添加一些额外的库 我现在正在努力寻找利用 Castle 的最佳方法 我目前有以下程序集 MyProject Inter