Agreed. (inline) Ayende Rahien wrote: > inline > > On Tue, Aug 11, 2009 at 1:57 AM, Adam Langley <alang...@winscribe.com > <mailto:alang...@winscribe.com>> wrote: > > Perhaps there could be a mechanism to continue to be queried for > the validity of this object? > For example, if the main use for this would be managing WCF > endpoints, they can transition to a faulted state, at which time > they can no longer be used anymore, so its actually the > ChannelFactory that needs to be cached (aswell)... > Im not sure of the best way to achieve this though. > > I think the lazy handler should either: > 1. allow the lazy handler to specify that its result should NOT be > stored within the container, allowing the handler to return it on > every request > > > This is the current behavior, the handler encapsulate the activator, > which actually manage the lifecycle. > > > > 2. or, allow the container to store the object using the > appropriate lifecycle, BUT before returning the object, it passes > the object to the lazy handler > (ILazyHandler.IsComponentStale(object component) ?) to allow it to > return false to let the container use its cached instance, or > return true to have its query method called again to create a new > instance of the type. This way it can look at the endpoint.State > == Faulted, to test if it should recreate it or not... > > > Argh, NO! No, letting lazy handler provider, or whatever we call it decide whether it wants to register the handler in the container or not, should let you cover probably all the scenarios. I say let's have _a_ way of implementing that, then we'll spike its usage in WCF Facility (and if I find some time, I plan to do also MEF integration that would require this as well) and see how that works, and what did we miss. Ay? > > If this is what you want, all you need to do is to write a custom life > cycle. > > > > Ideas? > > Adam Langley > Senior Developer > www.winscribe.com <http://www.winscribe.com> > > > Please consider the environment before printing this email! > > From: castle-project-users@googlegroups.com > <mailto:castle-project-users@googlegroups.com> > [mailto:castle-project-users@googlegroups.com > <mailto:castle-project-users@googlegroups.com>] On Behalf Of > Ayende Rahien > Sent: Tuesday, 11 August 2009 9:24 a.m. > To: castle-project-users@googlegroups.com > <mailto:castle-project-users@googlegroups.com> > Subject: Re: Design questions for resolution of IOC-ISSUE-161 > > Hm, > I would say that we need a LazyHandler, then, no? > 2009/8/6 Krzysztof Koźmic <krzysztof.koz...@gmail.com > <mailto:krzysztof.koz...@gmail.com>> > Hi, > > Funny, how we were discussing with Craig this very issue not > further than two days ago. > Anyway, I agree, that we should have something like > ILazyComponentsProvider (being handler missing Craig mentioned) > that would be last place to ask, before throwing exception. Note > that this would also have to support missing required (optional as > well?) dependencies. > I think that after lazy loading we should register the component > in the container, so that next time its ask for it's loaded using > standard means. > > Krzysztof > > > Craig Neuwirt wrote: > Ayende, > > I believe the IHandlerSelector was mainly used to select from an > existing set of handlers. What we > need is HandlerMissing support which will allow us to dynamically > return handlers and/or register them > at the same time. I am on vacation for a few days, but we can > chat about this (If not already implemented ;-) > when I return on Tues. > > Cheers, > craig > On Wed, Aug 5, 2009 at 6:07 PM, Ayende Rahien <aye...@ayende.com > <mailto:aye...@ayende.com>> wrote: > IHandlerSelector is how I would handle this. > You would need to provide an implementation of IHandler that > provide instances via the WCF client support. > Shouldn't be too hard, I think. > > On Thu, Aug 6, 2009 at 1:52 AM, Adam Langley > <alang...@winscribe.com <mailto:alang...@winscribe.com>> wrote: > > After speaking to Krzysztof Kozmic, this question is directed > primarily > to Ayende and Craig Newirt, > > I require that Windsor has the ability to resolve component types to a > WCF client endpoint configured in system.servicemodel/client > rather than > to a well-known type. > Krzysztof suggested that I ask if anyone has attempted to add the > required extensibility points to the micro-kernel to facilitate this > feature, so that I may build on it to bring it to completion. > Additionally, any suggestions on how this should be implemented > would be > greatly appreciated. > Krzysztof believes that before the last resort of throwing > ComponentNotFoundException, subscribed facilities should have the > chance > to resolve the component. > > After taking a brief look at the code this presents two hurdles. > > Firstly, when the configuration is initially built, any components > that > do not have a Type attribute are ignored, meaning that the naming > subsystem will never admit knowledge of them. > Secondly, even if the naming subsystem admitted knowledge of the > component, code needs to be added to locate a facility that has taken > responsibility for the type resolution, and delegate the call to > it/them. > > There are several decisions around how this feature should 'behave', > what do you think? > > Thanks > > Adam Langley > > > > > > > > > > > > > > >
--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Castle Project Users" group. To post to this group, send email to castle-project-users@googlegroups.com To unsubscribe from this group, send email to castle-project-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/castle-project-users?hl=en -~----------~----~----~----~------~----~------~--~---