问题标签 [windsor-3.0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
automapper - 温莎城堡相当于 Autofac 的 IStartable
我希望能够在我的温莎城堡容器设置中实现这一点:
“对于在当前程序集中实现 IStartable 的所有类型,注册它们并为它们运行 Start 方法。”
类似于您可以使用 Autofac 执行诸如注册 Automapper 映射之类的操作。例如
Autofac 自动完成....我想温莎在这里帮不了我?
c# - IoC 容器解析 DbContext(EF) 导致实体中的子对象急切加载
下面是我原来的 webproject 的精简版。我有以下数据访问项目的课程
客户将站点实体作为一对多关系。服务类是使用 Windsor IoC 容器注册的。问题是如果我使用 IoC 解析 DBContext,导航属性也会默认加载。如果我们加载客户,Customer.Sites 有列表值,但预期值为空,因为我没有启用延迟加载或包含在查询中。
我正在使用 IoC 容器生活方式配置作为 PerWebrequest(为了测试我使用的是单例)。但是如果我们使用 Transient 配置 Customer.sites 是 null
使用的依赖项:Castle.Windsor version="3.3.0" EntityFramework version="6.1.3"
请指出我如何使 IoC 解析上下文以禁用急切加载或有任何解决方法。 项目在 github
c# - 温莎城堡未将依赖项注入课堂
我有以下接口和基类。
用户存储库:
用户服务:
现在,当我注入 UserService 时,它的 _userRepository 为空。知道我需要配置什么才能正确注入存储库。
我有以下安装代码:
我将如何注册具体的 DbContext
更新
当我删除 UserService 中的默认构造函数时,出现以下错误:
Castle.MicroKernel.Handlers.HandlerException:无法创建组件“DataAccess.Repositories.UserRepository”,因为它需要满足依赖关系。“DataAccess.Repositories.UserRepository”正在等待以下依赖项: - 未注册的服务“DataAccess.AuthenticationContext”。
asp.net-mvc - 无法创建组件,因为它具有要满足的依赖项。未提供的参数
我刚刚开始使用 Windsor 来解决依赖问题。但是我在控制器中传递字符串值时遇到了错误。我检查了几个类似的温莎邮报,但没有运气。
安装程序
温莎控制器工厂
我是否需要将“A”包装在一个类中并解析它各自的接口?
integration-testing - Owin.Testing TestServer 与 Windsor 容器和起订量
我有一个 WebApi,我在其中使用 Windsor Castle 作为 IoC 框架。我正在使用 Owin 库,并创建了一个启动文件来集中 API 的配置。一切都按预期工作。
我在使用 Owin.Testing 库的地方进行了集成测试,并且服务器使用继承真实类的测试启动类启动。Windsor 容器已成功配置为 TestServer。集成测试正在针对正在运行的自托管服务器执行 Web 请求。一切正常。
使用测试服务器时有两件事不起作用:
- 即使我为 POST 请求传递了无效的 json 主体,控制器的 ModelState 也始终有效。当使用 IIS 托管时,它按预期工作。知道测试服务器有什么问题吗?
- 我正在使用 VS 测试运行程序,并且 Owin TestServer 在 [ClassInitialize] 方法中进行了初始化。我不想在每次测试后创建新的测试服务器,因为 Windsor 容器初始化非常昂贵。有些测试我需要模拟一些第 3 方服务(通过使用容器的注册方法和起订量)。在每个测试结束时,我想回滚容器中在执行测试范围内完成的所有模拟。有可能以某种方式做到吗?我试图在一个范围内注册但不起作用。
谢谢
c# - 将依赖注入无参数构造函数(Windsor 容器)
我想像这样使用我的子类:
每当调用它时,我都想用相关 id 包装它,该相关 id 应该由服务注入。我想将它注入基类以避免那样写
但我不知道在应该通过构造函数注入完成的情况下如何做到这一点。
换句话说,我想将依赖注入到无参数构造函数中。类似的东西
是的,我知道通常我需要这样做:
但是希望这个构造函数 MyBaseException(IWorkingContext workingContext) 在没有参数的情况下被调用,所以最后我可以使用我的子类,比如 MyCustomException() 并将 workingContext 包装在其中。
我的温莎注册:
我试过这种方法:
但它不起作用(新对象由温莎创建)。