可以城堡解决交叉依赖属性?

时间:2012-07-17 10:52:33

标签: c# architecture dependency-injection castle-windsor

我的情况如下:

public class FooService : IFooService
{
    public IBarService BarService { get; set; }
}

public class BarService : IBarService
{
    public IFooService FooService { get; set; }
}

IFooService和IBarService都是从IApplicationService继承的 组件注册器看起来像这样

container.Register(
    AllTypes.FromAssemblyContaining<IApplicationService>()
        .BasedOn<IApplicationService>()
        .WithService.FromInterface()
        .LifestyleSingleton());

问题是属性为null。如果我添加任何其他不使用foo或bar服务的服务,则服务将被正确解析。

看起来城堡windsor无法处理交叉引用。或者我应该添加到组件注册商中吗?

1 个答案:

答案 0 :(得分:0)

我尝试过构造函数注入,看起来它正在工作。