开发者

Castle Windsor Component registration of multiple interface on a single service

开发者 https://www.devze.com 2023-01-14 12:51 出处:网络
i am trying to implement multiple Service Contracts via a single WCF. i am trying to run this code: return new WindsorContainer()

i am trying to implement multiple Service Contracts via a single WCF.

i am trying to run this code:

  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
            );

but it tells me that the "blogservice" is already registered. i am loading 2 differant Interfaces which are implemented via differant classes. and i got stuck in this point.


Just write

Component.For<IFirst,ISecond>(). /*whatever else you need*/


You are in fact registering IBlogService and IBlogServiceAlternate with the same Name(d) - blogService, therefore the error.

0

精彩评论

暂无评论...
验证码 换一张
取 消