We need to add a message queueing system with business rules to a .NET application. A typical scenario is a person requests “A” from an Internet site, the process checks information about that user, and based on that, the request gets routed to a queue in an internal intranet site where someone manually processes the information.
The process is asynchronous, and the rules to determine which queue it would go into needs to be somewhat flexible. I was thinking of MSMQ but not sure how the queues and business rules would interact.
So, is it worth it to use MSMQ, or to just use standard database tables and roll our own? Thanks.
Related:
Rules of thumb regarding Messaging / Message Queueing
The considerations for using MSMQ (or indeed any other message queuing) are many and varied. However, some of the more common reason to use queues:
I would recommend using MSMQ above all other transport mechanisms in almost every situation (provided all the machines in your production setup are windows). The reason for this is that you get all the benefits listed above for free, and the overhead and development costs are comparable to the alternatives.