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?

Answers


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

http://www.codeproject.com/KB/threads/SynchronizationContext3.aspx


Need Your Help

SQL Server - database design - one to many OR many to many

sql-server database-design

I'm wanting advice as to the best way to design my database - it is storing medical data. I have a number of different entities (tables) that may have one or more medications associated with them. ...

How to store variable in phone memory android?

android

i need to store a variable in phone memory, and later get that variable to show it.

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.