我正在尝试检索有关远程专用队列中消息的详细信息,但我继续收到 MessageQueueException“无效的队列路径名”。我可以使用 MessageQueue.GetPrivateQueuesByMachine 检索私有队列列表,但是,当我尝试查看返回的队列的任何详细信息时,我得到了异常。
var msmqQueues = MessageQueue.GetPrivateQueuesByMachine(serverName);
msmqQueues[0].CreateCursor(); // Throws MessageQueueException "Invalid queue path name"
msmqQueues[0].Label; // also Throws MessageQueueException "Invalid queue path name"
奇怪的是,GetPrivateQueuesByMachine 调用似乎可以正常工作,因为 msmqQueues 中有正确数量的项目,我可以访问它们的 .Path 属性(它看起来像一个典型的 FormatName 路径 - “FormatName:DIRECT=OS:SERVERNAME\private$\队列名”)。