我正在尝试使用以下代码查询我机器上的本地队列:
var c = new MessageQueueCriteria();
c.MachineName = Environment.MachineName;
var queues = MessageQueue.GetMessageQueueEnumerator(c);
但代码在第二行抛出异常,抱怨:
工作组安装计算机不支持该操作。
堆栈跟踪:在 System.Messaging.MessageQueue.GetMachineId(String machineName) 在 System.Messaging.MessageQueueCriteria.set_MachineName(String value)
并且 MessageQueueErrorCode 枚举设置为 System.Messaging.MessageQueueErrorCode.UnsupportedOperation。
奇怪的是我在域而不是工作组!和其他应用程序(QueueExplorer)似乎工作文件。有什么想法可以绕过它吗?
更新:似乎错误来自运行属性设置器中的这段代码,但不知道如何修复它。
new MessageQueuePermission(MessageQueuePermissionAccess.Browse, "*").Demand();