1

私は次のような状況に似ています

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 サービスを使用しない他のサービスを追加すると、サービスは正しく解決されます。

Castle Windsor は相互参照を処理できないようです。または、コンポーネントレジストラーに追加する必要があるものはありますか?

4

1 に答える 1