C# MSMQ MessageQueue Id - 如何获取有效的 Guid

C# MSMQ MessageQueue Id - How to get Valid Guid

我尝试在本地队列和远程队列中发送消息。

样本来源是

Guid queueId;

try
{
    MessageQueue rmQ = new MessageQueue("FormatName:Direct=TCP:192.168.5.26\Private$\RemoteQueue");
    //MessageQueue rmQ = new MessageQueue(".\Private$\LocalQueue");
    rmQ.Send("Once again Mr.John Please come here...");

    queueId = rmQ.Id;
}
catch (ArgumentException ex)
{
    throw ex;
}
catch (MessageQueueException ex)
{
    throw ex;
}
catch (InvalidOperationException ex)
{
    throw ex;
}
catch (Exception ex)
{
    throw ex;
}

在所有场景中,我都得到了 Guid.Empy,但消息在各自机器的消息队列中成功排队。

请查看以下快照

请帮助我如何获得有效的 MessageQueue.Id

您正在尝试访问不受支持的私有队列的 ID。 MSDN 说:

Message Queuing sets the Id property when it creates the queue. This property is only available for public queues.

https://msdn.microsoft.com/en-us/library/system.messaging.messagequeue.id(v=vs.110).aspx