 <p>You need to use <code>System.Messaging.Message.CorrelationId</code> property.</p> <blockquote> <p>Gets or sets the message identifier used by acknowledgment, report, and response messages to reference the original message.</p> </blockquote> <p>Source: <a href="https://msdn.microsoft.com/en-us/library/system.messaging.message.correlationid(v=vs.110).aspx" rel="nofollow">https://msdn.microsoft.com/en-us/library/system.messaging.message.correlationid(v=vs.110).aspx</a></p> <pre><code>var msgToSend = new Message(); // ... set message props including admin queue var targetQueue = new MessageQueue(...); targetQueue.Send(msgToSend); // Read acknowledgment var adminQueue = new MessageQueue(ackPath); var msgAck = adminQueue.ReceiveByCorrelationId(msgToSend.Id, new TimeSpan(0, 0, 2)); if (msgAck) { return msgAck.Acknowledgment; } </code></pre> <p>There is <code>PeekByCorrelationId</code> method too, or overload forms of <code>ReceiveByCorrelationId</code> which you should check for more information.</p>