I work on a real WCF/MSMQ project to handle concurrency/queued!! calls from different clients, and I choose
ConcurrencyMode.Multiple for WCF Intancing and Concurrency modes, and
This the requirement of the project:
- Clients send XMLRequest and expecting an XMLRequest from WCF server.
- The WCF server receive a request and insert it on the DB and generate a requestId.
- The requestID must be queued in MSMQ before handling it, because the next step can take about 5s to process.
- If things goes bad the client receive an exception message in XMLResponse.
The current version of the project has tree principal methods:
FirstOne() : Insert the request on DB, generate requestID and queued it in MSMQ.
SecndOne() : Reads from MSMQ, handle exceptions and return an object could take about 5s to proccess(because of external WebServices).
ThirdOne() : Take the object and generate an XMLResponse.
I want to know :
What is best messaging pattern/process that fits this project?
What is the best choose for concurrency and instancing modes for this type of project?
What is the things that i must be aware of it when working with this Technologies/Patterns/Modes?
Merci beaucoup pour l'aide :).