msmq with multiple endpoints and concurrent processing

I have built a WCF load balancer/router to conditionally route any one way service to multiple endpoints all using MSMQ bindings. I have also created a host that uses all the endpoints from the router to accept the service calls. All the endpoint specifies the same contract.

I need each queue (endpoint) to be processed concurrently but each service call to be processed sequentially.

I’ve tried using InstanceContextMode = InstanceContextMode.Single and ConcurrencyMode = ConcurrencyMode.Single but this only gives me single instance processing all of my endpoints. InstanceContextMode = PerCall does not guarantee ordering which I need. What I need is a single service instance per endpoint that will run concurrently.

I’ve also tried various permutations using the ServiceBehavior of

ReleaseServiceInstanceOnTransactionComplete = true/false.

How would I accomplish this with WCF using MSMQ bindings?


Place your configuration so it will be a little clearer. You can also control how WCF execute the calls by defining your own synchronization context. I had to it for another project and I posted the code in this article

Need Your Help

Which MySQL data type to use for storing boolean values

mysql boolean sqldatatypes

Since MySQL doesn't seem to have any 'boolean' data type, which data type do you 'abuse' for storing true/false information in MySQL?

how to smooth jquery animations

javascript jquery jquery-animate

I would like to smooth the chaining of some jquery.animate functions.