Castle Windsor组件在单个服务上注册多个接口

bar*_*oei 4 wcf castle-windsor ioc-container

我试图通过一个WCF实现多个服务合同.

我正在尝试运行此代码:

  return new WindsorContainer()
            .AddFacility<WcfFacility>()
            .Register(
                Component.For<IServiceBehavior>().Instance(metadata),
                Component.For<IServiceBehavior>().Instance(debug),
                Component
                    .For<IBlogService>()
                    .ImplementedBy<DefaultBlogService>()
                    .Named("blogService")
                    .LifeStyle.Transient
                    .ActAs(new DefaultServiceModel().Hosted()
                        .AddEndpoints(
                            WcfEndpoint.BoundTo(new BasicHttpBinding()))),
                Component
                    .For<IBlogServiceAlternate>()
                    .ImplementedBy<AlternateBlogService>()
                    .Named("blogService")
                    .LifeStyle.Transient
                    .ActAs(new DefaultServiceModel().Hosted()
                        .AddEndpoints(
                            WcfEndpoint.BoundTo(new BasicHttpBinding()))),


                Component
                    .For<ILogger>()
                    .ImplementedBy<DefaultLogger>()
                    .LifeStyle.Transient
            );
Run Code Online (Sandbox Code Playgroud)

但它告诉我"blogservice"已经注册.我正在加载2个不同的接口,这些接口是通过不同的类实现的.我陷入了困境.

Krz*_*mic 15

写吧

Component.For<IFirst,ISecond>(). /*whatever else you need*/
Run Code Online (Sandbox Code Playgroud)