Hi. I noticed in the WcfClientActivator code that the channel is
opened as soon as it is requested. The reason is attributed to this
post:

///   Always Open the channel before being used to prevent
serialization of requests.
///   
http://blogs.msdn.com/wenlong/archive/2007/10/26/best-practice-always-open-wcf-client-proxy-explicitly-when-it-is-shared.aspx

Somehow that doesn't feels entirely correct. It might be a good thing
to do if one expects the channel to be used with a long standing
lifestyle (singleton?).
I have a different use case: an MVC web app for front-end that
communicates with a back-end app via WCF.
Through injection, the controllers asks for one or more components
that might be used in the actions they contain.
Not all the actions use all components, so this can happen:

// constructor
public Controller(IService1 service1, IService2 service2)
{
}

// some action
public ActionResult Action1()
{
  service1.DoSomething();
  // service2 never gets used
}

In this example, service2's channel gets opened even if not used. I
know this could be avoided if using factories, but it would certainly
make things a lot more complicated.

Would it be wrong to expect the activator NOT to open the channel
automatically in this cases?

-- 
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