问题标签 [castle-windsor]
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.
inversion-of-control - Windsor Fluent 界面生活方式
这些是用于设置组件生活方式的等效语法吗?
nhibernate - 推荐 Castle Windsor/NHibernate 堆栈?
我有一个个人(学习)项目,它使用 Castle Windsor(使用 NHibernate 设施)和 NHibernate(以及 ASP.NET MVC 和 Moq,以及 SQL Server 2008,所有我想了解更多的东西)。
周末我尝试使用NHibernate Validator ,但它需要NHibernate的 2.1.0Alpha2 版本。
由于 Castle Windsor 1.0RC3 是针对旧版本的 NHibernate 构建的,所以一切都出错了。
我在 Castle Windsor 网站上查看,组合安装程序似乎已被弃用,并且似乎有一段时间没有任何组件已打包。
那么:我应该在我的 ASP.NET MVC 软件堆栈中使用哪些版本的 NHibernate 和各种 Castle 组件?
testing - Castle Windsor:如何测试所有注册的组件都是可解析的?
我想编写一个测试来确保注册到我的 WindsorContainer 的所有组件确实可以被解析。有人知道我该怎么做吗?
dependency-injection - 温莎城堡传递构造函数参数
我有一个带有一些属性的 IAddress 类。然后我有一个实现这个接口的具体类型。这种具体类型有几个我可以使用的不同构造函数。如何在运行时将参数值传递给这些构造函数之一?我不能使用配置文件,因为我将多次重用这个具体类型,并且每次参数值都会不同。
multithreading - 在 Castle Windsor 上注册服务/组件是线程安全的吗?
在城堡温莎上注册组件是线程安全的吗?
即,多个线程可以同时在同一个容器实例上注册组件吗?
(作为记录,是的,我知道这样做可能很疯狂。)
c# - Castle Windsor WcfFacility 出现奇怪的组件注册错误
我正在尝试将现有站点转换为使用 WCF 与我在另一个盒子上的服务进行通信。目前我使用自动注册来直接连接我的服务。当我尝试使用 Windsor 的 WcfFacility 时,我在尝试注册的接口之一上收到 ComponentRegistrationException。错误如下,它只发生在特定接口上,所有其他接口都正常工作并且以相同的方式编码。
我有另一个 Windows 窗体应用程序,我将它转换为使用具有相同服务的 WCF,并且 100% 有效。
我使用以下代码注册 WCF 服务(在 Windows 和 Web 应用程序中):
该接口标有ServiceContract 和OperationContract 属性,与其他所有接口相同。
我不知道为什么 Windsor 将其视为抽象类,但正确注册了另一个。
有任何想法吗?
inversion-of-control - 如何让温莎城堡调用无参数构造函数?
目前我有一个看起来像这样的类:
在我的配置文件中,我注册了 IMyClass,但没有注册 IMyRepository。我的意图是让 Windsor 使用不带任何参数的构造函数,但我收到以下消息:
无法创建组件“MyClass”,因为它具有要满足的依赖项。MyClass 正在等待以下依赖项:
服务: - Namespace.IMyRepository 未注册。
我发现另一篇文章说容器将使用它可以满足的最多参数调用构造函数。那么为什么它试图用一个它不知道如何满足的参数来调用构造函数呢?
configuration - Castle Windsor AllTypes 中类型的有序解析
我有一组为我的应用程序启动活动实现接口的类。这是注册码:
为了获得任务,我使用它并且它按预期工作:
这是我的问题:我有一个任务取决于另一个任务首先运行。有一个InitializeDatabase
任务需要在PopulateDatabse
任务之前运行。还有一堆其他任务正在运行InitializeDatabase
,如果有一些 Castle 配置允许我订购类型的分辨率,我宁愿不将任务拆分出来。我不想指定正在解析的类型的完整顺序,因为这违背了自动注册的目的,只是InitializeDatabase
第一个或PopulateDatabase
最后一个。
有没有办法注册哪些类型应该首先解析而不指定所有类型的顺序?
dependency-injection - 温莎城堡注入构造对象的属性
一些依赖注入容器使您能够将配置的服务注入到已经构建的对象中。
这是否可以使用 Windsor 来实现,同时考虑到目标对象上可能存在的任何服务依赖关系?
dependency-injection - 与温莎城堡的上下文绑定
是否可以让 Windsor 基于单独的参数返回不同的服务实现?
例如,如果我有一个具有 Role 属性的 User 对象,我希望能够根据 Role 的值不同地水合这个对象。我想使用 IUserService 来执行此操作,但 IUserService 的具体实现由 IoC 容器确定。
我认为 Ninject 将此功能作为“上下文绑定”提供,但我不确定 Windsor 是否在不滚动我自己的解析逻辑的情况下提供它?