199得票5回答
什么是Castle Windsor,为什么我应该关心它?

我是一名长期的Windows开发人员,从win32和早期的COM开始就磨练了自己。自2001年以来一直使用.NET,所以我很擅长C#和CLR。在开始参与Stack Overflow之前,我从未听说过Castle Windsor。我已阅读了Castle Windsor的“入门指南”,但它并没有让...

146得票4回答
Ioc/DI-为什么我必须在应用程序的入口点引用所有层/程序集?

(与这个问题相关的是,EF4:为什么启用延迟加载时必须启用代理创建?). 我对DI还不熟悉,请容忍我的问题。我知道容器负责实例化所有已注册的类型,但它需要引用解决方案中所有DLL及其引用。 如果我没有使用DI容器,在我的MVC3应用程序中,我就不必引用EntityFramework库,只需...

86得票2回答
为什么不使用IoC容器来解决实体/业务对象的依赖关系?

我理解DI的概念,但我正在学习不同IoC容器可以做什么。似乎大多数人都建议使用IoC容器来连接无状态服务,但是对于像实体这样的有状态对象,是否也可以使用它们呢? 无论对错,通常我会将行为塞进我的实体中,即使该行为需要一个外部类。例如:public class Order : IOrder {...

71得票1回答
我该如何有效地设计我的应用程序,使大多数类都依赖于ILogger?

我正在将Logger组件注入到所有我的类中。我的大多数类都定义了Logger属性,除了在继承链中的情况(在这种情况下,只有基类具有此属性,并且所有派生类使用它)。当这些通过Windsor容器实例化时,它们会得到我的ILogger实现。我目前正在使用属性注入,因为将所有内容注入到构造函数中感觉不...

52得票2回答
比较Castle Windsor、Unity和StructureMap

在Krzysztof的声明后续中,他提到Windsor比其他IoC做得更多,我想了解这些IoC之间的差异以及Castle Windsor提供的好处/额外设施。 是否有任何比较?有人可以帮助我理解Castle Windsor相对于其他IoC提供的附加功能吗?

49得票2回答
设计 - 使用Windsor时,对象应该在哪里注册?

我的应用程序将包含以下组件: DataAccess DataAccess.Test Business Business.Test Application 我希望使用Castle Windsor作为IoC来将这些层粘合在一起,但我对粘合的设计有些不确定。 我的问题是谁应该负责将对象注册...

42得票1回答
Castle Windsor - 针对开放式泛型接口的IoC注册?

Castle Windsor允许注册开放式泛型接口吗?还是我需要分别注册每个可能的类型实例? 例如,如果我使用类型T和Z,则以下内容将在编译时失败,除非我分别使用强类型指定T和Z。 container.Register(Component .For<IAdapterFa...

39得票9回答
哪个依赖注入工具应该使用?

我在考虑在我们的用户界面中使用Microsoft Unity作为依赖注入工具。 我们的中间层已经使用了Castle Windsor,但我认为我应该坚持使用Microsoft。 有人对什么是最好的依赖注入工具有什么想法吗? Autofac Castle MicroKernel/Winds...

37得票1回答
SignalR和Castle Windsor的正确Hub依赖生命周期管理

我有一些SignalR信令中心,可能需要访问一些短暂的和单例依赖项。挂钩Hub的创建很容易,也很有效,但是SignalR会在创建的Hub上执行自己的Dispose()调用,而不是通知依赖项解析器并让其参与处理。 如果依赖关系已注册为单例,则这并不是太大的问题,但是如果它们已注册为瞬态,则它们...

35得票7回答
Castle Windsor有什么缺点吗?

我一直在研究Castle项目,尤其是Windsor。我对这种技术的可能性以及拥有如此松散耦合系统的好处印象深刻。唯一让我不确定的是,在asp.net中使用这种方法是否有任何缺点,例如性能影响等。 我正在试图向我的同事展示这种方法的好处,并遭遇以下反驳: 那是使用反射,每次从容器调用对象时...