MSMQ 3.0 Feature in Windows XP & Windows 2003
One-to-Many Messaging
MSMQ 3.0, which is available starting with Windows Server 2003 and Windows XP, introduces two new means of sending a certain message to multiple recipients. You can rely on IP multicasting if your network infrastructure supports this protocol and if you don't need specific delivery guarantees or transactional guarantees. When using IP multicasting to communicate with multiple recipients, each packet is sent via the network only once (no matter how many receivers) and placed in multiple queues on multiple machines on the receiver side. This implies, however, that there is no delivery or transactional guarantee—MSMQ IP multicast will not give you the possibility of determining whether a message has reached any of its intended recipients.
When using System.Messaging or the COM API to MSMQ 3.0, you can also use a new syntax for specifying multiple recipients. This, however, will be handled internally using conventional point-to-point connections, giving you the necessary delivery and transactional guarantees. Using this technique reduces the serialization overhead that would otherwise be necessary if you'd send the same message to multiple recipients.
To send a message to multiple queues, you can use the following syntax and separate the format names of the destination queues with "," (comma) in the format name:
String queues = "DIRECT=OS:localhost\\private$\\Q1," + "DIRECT=OS:localhost\\private$\\Q2," + "DIRECT=OS:localhost\\private$\\Q3" MessageQueue que = new MessageQueue("FORMATNAME:" + queues); Message msg = new Message(); msg.Formatter = fmt; msg.Label = "MULTI"; que.Send(msg);
Thanks for the links guys.