Windsor 3, BoundTo scoping and lazy resolving | Asger Hallas | 12/22/11 12:29 PM | Hi
I might have misunderstood the purpose or overlooked some limitations of the new BoundTo lifestyle, but isn't this supposed to work? public class windsor_boundto_scoping { [Fact] public void can_scope_late_bound() { var c = new WindsorContainer() .AddFacility<TypedFactoryFacility>() .Register(Component.For<Parent>().LifeStyle.Transient, Component.For<Child>().LifeStyle.BoundTo<Parent>()); c.Resolve<Parent>().AndThen(); } public class Parent { readonly Func<Child> late; public Parent(Func<Child> late) { this.late = late; } public void AndThen() { late(); } } public class Child { } } The docs says: "Bound lifestyle - allows objects to be reused within dependency subtree" Is a typed factory not part of the dependency subtree of its owner? //Asger |
Re: Windsor 3, BoundTo scoping and lazy resolving | Krzysztof Koźmic | 12/22/11 12:56 PM | Hi Asger, It doesn't work for typed factories. Since a factory can be passed K |
Re: Windsor 3, BoundTo scoping and lazy resolving | Asger Hallas | 12/23/11 12:15 AM | Hi Krzysztof
I see. I would have thought that the original owner of the factory would always be the scope of the resolved components, no matter in what context the factory was used. It seems like a nice default to me, but I guess I overlook some subtleties :) For what it's worth, I can say that it would be very useful for my current scenario of a batch processor of messages. I get a bunch of messages, use the factory to resolve message handlers for each one, and I want to have injected the same database session into each in the scope of the batch processor. Any advice on how this can be done otherwise? Thanks, Asger On Dec 22, 9:56 pm, Krzysztof Koźmic <krzysztof.koz...@gmail.com> wrote: > Hi Asger,> 112113 > > 114 |
Re: Windsor 3, BoundTo scoping and lazy resolving | Krzysztof Koźmic | 1/3/12 5:16 PM | Hi, sorry for the delay. I think Scoped lifestyle with an explicit scope might work for you |
Re: Windsor 3, BoundTo scoping and lazy resolving | Asger Hallas | 1/4/12 6:08 AM | Hi,
I am on my way down the Scoped lifestyle route. NServiceBus 3 is a good one, I'll look into that one. BTW I've been having some trouble disposing a scope on another thread than the one it was created on (are there any downsides to that?). It seems to be an issue only with xUnit, but I thought you might like to know: http://xunit.codeplex.com/workitem/9760 Thanks for returning, and happy new year :) On Jan 4, 2:16 am, Krzysztof Koźmic <krzysztof.koz...@gmail.com> wrote: > Hi,> 162163 > > 164 >> > On Dec 22, 9:56 pm, Krzysztof Koźmic<krzysztof.koz165...@gmail.com> |