The issue is that i want to control a service based on container. This will also provide decupeling if i would like to put 2 services in 1 and other servies in another container. For logic simplicity as well
On 16 Sep 2010 01:49, "Krzysztof Koźmic" <[email protected]> wrote: > also, can you provide a failing minimal test? > > thanks, > Krzysztof > > W dniu 16 września 2010 09:49 użytkownik Krzysztof Koźmic < > [email protected]> napisał: > >> Why do you want to use subcontainers for that? >> >> 2010/9/16 barroei <[email protected]> >> >> hey, >>> >>> i am trying to implement a single Application Pool that will include a >>> Container >>> in this container i would like to have a subContainer per every >>> WCFComponent. >>> meaning: >>> >>> >>> Service1.svc will be in Child1 >>> Service2.svc will be in Child2 >>> >>> Child1 and Child2 will be in Parent >>> >>> can this be done? >>> cause from my testing once i register 2 differenet Services one on >>> each Container >>> the first one registerd doesnt work. >>> >>> here is my code: >>> >>> public class ContainerBuilder >>> { >>> static WindsorContainer parent = new WindsorContainer(); >>> static WindsorContainer child; >>> static WindsorContainer child2; >>> >>> >>> public static IWindsorContainer Build() >>> { >>> var debug = new ServiceDebugBehavior >>> { >>> IncludeExceptionDetailInFaults = true >>> }; >>> >>> var metadata = new ServiceMetadataBehavior >>> { >>> HttpGetEnabled = true >>> }; >>> >>> parent.AddFacility<WcfFacility>(); >>> child = new WindsorContainer(); >>> child >>> .Register( >>> Component.For<IServiceBehavior>().Instance(debug), >>> >>> Component.For<IServiceBehavior>().Instance(metadata), >>> >>> >>> Component.For<IPostAtomFeedMapper>().ImplementedBy<DefaultPostAtomFeedMapper>(), >>> Component >>> .For<IService1>() >>> .ImplementedBy<Service1>() >>> .Named("blogService2") >>> .LifeStyle.Transient >>> .ActAs(new DefaultServiceModel().Hosted() >>> .AddBaseAddresses("http://localhost:51223/ >>> Service1.svc")), >>> >>> >>> Component.For<ILogger>().ImplementedBy<DefaultLogger>().LifeStyle.Transient >>> ); >>> >>> child2 = new WindsorContainer(); >>> child2 >>> .Register( >>> Component.For<IServiceBehavior>().Instance(metadata), >>> Component.For<IServiceBehavior>().Instance(debug), >>> >>> >>> Component.For<IPostAtomFeedMapper>().ImplementedBy<DefaultPostAtomFeedMapper>(), >>> Component >>> .For<IService2>() >>> .ImplementedBy<Service2>() >>> .Named("blogService") >>> .LifeStyle.Transient >>> .ActAs(new DefaultServiceModel().Hosted() >>> .AddBaseAddresses("http://localhost:51223/ >>> Service2.svc")), >>> >>> >>> Component.For<ILogger>().ImplementedBy<DefaultLogger>().LifeStyle.Transient >>> ); >>> >>> parent.AddChildContainer(child); >>> parent.AddChildContainer(child2); >>> >>> return parent; >>> } >>> } >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Castle Project Users" group. >>> To post to this group, send email to >>> [email protected]. >>> To unsubscribe from this group, send email to >>> [email protected]<castle-project-users%[email protected]> <castle-project-users%[email protected]<castle-project-users%[email protected]> > >>> . >>> For more options, visit this group at >>> http://groups.google.com/group/castle-project-users?hl=en. >>> >>> >> > > -- > You received this message because you are subscribed to the Google Groups "Castle Project Users" group. > To post to this group, send email to [email protected] . > To unsubscribe from this group, send email to [email protected]<castle-project-users%[email protected]> . > For more options, visit this group at http://groups.google.com/group/castle-project-users?hl=en. > -- You received this message because you are subscribed to the Google Groups "Castle Project Users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/castle-project-users?hl=en.
