I've got a WCF service with the following settings:
- NetNamedPipeBinding
- ConcurrencyMode.Multiple
- InstanceContextMode.Single
Now I've got a client that accesses to this WCF service in a multi-threaded fashion.
As far as I understand I have to open a new connection to the service for each thread to avoid threads to block each others.
- In this case how expensive is the
Open()
call (service is in the same computer)? - Shall I cache/pool the my client class? (derived from
ClientBase
) or does WCF provides a transparent pool for connections similar to SQLConnection Pooling?