Castle Windsor Component registration of multiple interface on a single service
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.
精彩评论