We currently have multiple WCF services which are using the default ServiceBehavior
. Due to issues with scalability, we are looking at applying the Concur
If you use the default "per call" activation mechanism (which works great if your services are completely stateless), there's absolutely no point in adding the ConcurrencyMode.Multiple
since each incoming request will get its own instance of the service class to handle its request. This is the preferred and recommended setting for InstanceContextMode
.
Read more about instance management in WCF at MSDN Magazine: Discover Mighty Instance Management Techniques For Developing WCF Apps
The only time when you benefit from using ConcurrencyMode.Multiple
is when you have a singleton WCF service - but this is highly discouraged, since it's a) a big hindrance for scalability, and b) extremely tricky to program properly.
My recommendation would be: try to narrow down more in detail what really causes the performance problems. Just jumping into ConcurrencyMode.Multiple
seems like the wrong approach - it's very messy, very labor-intensive, lots of code, lots of chance of getting it wrong......