我有一個非常簡單的控制檯應用程序,它在查看遠程專用隊列中的消息時遇到麻煩。無法編程式地窺探到遠程(專用)msmq:訪問消息隊列系統被拒絕
var queues = MessageQueue.GetPrivateQueuesByMachine(machineName);
var queue = queues.Where(x=>x.FormatName == queueName).Single();
Message message = queue.Peek();
Peek調用失敗,MessageQueueException爲「訪問消息隊列系統被拒絕」。
使用相同的客戶機和用戶我能夠使用隊列資源管理器和消息隊列管理單元查看隊列。
試驗一個本地隊列我只能通過刪除隊列上的Peek權限來重現錯誤,但也會在其他工具中停止它。
我看過很多信息,這些信息指向我列出的問題here。
但是,看起來好像這些問題中的任何一個都是問題,我也無法使用其他工具來完成。
編輯 我已經能夠得到這個使用MSMQQueueInfo/MSMQQueue COM對象不改變任何憑據的工作。 這將是很好,如果我可以使用.NET庫的工作,但至少我有一個解決方法。
你放什麼在計算機名和QUEUENAME?你是如何初始化它們的?你如何以及如何將消息放入MessageQueue? –
這個例子有點簡化。我沒有任何麻煩列出隊列或選擇我感興趣的特定隊列。 對於這種特殊情況,我正在查看來自我們的一個生產應用程序的錯誤隊列。我知道隊列中有消息,因爲我可以使用其他工具看到它們。 – drs9222
你配置了哪些權限? –