We will be upgrading to .Net 4.0 this week and will give this a try.

Thanks a lot!

On Jun 28, 5:28 pm, Craig Neuwirt <[email protected]> wrote:
> On Jun 28, 2011, at 2:59 PM, Nicolás Sabena wrote:
>
> > Thanks for your response, Craig.
> > If I understand correctly, the auto-open concern is an issue when the
> > same channel is shared on different threads. This is only the case
> > when you don’t need the proxy to keep specific context (such as
> > security credential) on each call.
> > I know the TypedFactoryFacility would be a solution for this,
> > resolving the component at the exact moment it's needed, at the cost
> > of making the code perhaps more complicated.
> > But I don't know what you mean with Lazy<IService1>. I'm guessing it's
> > not the lazy component registration capabilities. I searched around
> > and found nothing.
> > Can you elaborate a little on this?
>
> The trunk (and I believe latest release) of Windsor utilizes an 
> ILazyComponentLoaded that will recognize
> DotNet 4.0 Lazy<T> dependencies.  What this means is if you change the 
> arguments to your ctor to be
>
> public Controller(Lazy<IService>1 service1, Lazy<IService2> service2)
> {
>
> }
>
> Then it should be injected with lazy versions of those services which have 
> not been resolved from the container
> yet and thus have not had channels created.  When you access service1.Value 
> the first time, the actual
> resolution will occur and channel created.  The TypedFactoryFacility offers 
> the same lazy semantics, but achieves
> its slightly differently through Funcs.  In the later case, the ctor would 
> look like
>
> public Controller(Func<IService>1 service1, Func<IService2> service2)
> {
>
> }
>
> and you would access it as service1() as opposed to service1.Value.
>
> Hope this helps
>
> cheers,
>   craig
>
>
>
> > On Jun 28, 9:03 am, Craig Neuwirt <[email protected]> wrote:
> >> For some reason WCF penalizes you heavily if you let it perform auto-open. 
> >>  In fact, everything becomes sequential and throughput drops dramatically. 
> >>  Can you inject Lazy<IService1>, Lazy<IService2> to help mitigate your 
> >> concern.  You can probably also use the TypedFactoryFacility and inject 
> >> Func<IService1>, Func<IService2> as well.
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "Castle Project Development List" 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 
> > athttp://groups.google.com/group/castle-project-devel?hl=en.- Hide quoted 
> > text -
>
> - Show quoted text -

-- 
You received this message because you are subscribed to the Google Groups 
"Castle Project Development List" 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-devel?hl=en.

Reply via email to