簡體   English   中英

C#在系統隊列中獲取MSMQ消息

[英]C# Get MSMQ Messages in System Queues

因此,C#允許我使用GetPrivateQueues和GetPublicQueues,但是沒有什么可以獲取系統隊列的。 我已經寫了這段代碼

string deadLetterQueuePath = @"formatname:DIRECT=OS:.\system$;DeadLetter";

MessageQueue deadLetterQueue = new MessageQueue(deadLetterQueuePath);

Message[] messages = deadLetterQueue.GetAllMessages();

foreach (Message message in messages)
{
    Console.WriteLine(message.ToString());
    Console.ReadLine();
}

代碼在MessageQueue行上失敗。 這是我得到的錯誤

“指定的格式名稱不支持所請求的操作。例如,不能刪除直接隊列格式名稱。”

這可能僅僅是在Windows 8 PC上運行此功能的限制嗎? 難道我做錯了什么? 因為我使用的帳戶不是本地管理員,即使我可以拉私人和公共隊列,也可能是權限問題嗎?

謝謝

如果是權限問題,我不久前在舊的MSMQ新聞組中回答的問題可能會有所幫助。

不能手動或以編程方式訪問死信或任何系統隊列

所以上面的代碼是好的。 只是對我的Windows 8機器無效。 在我的MQ Server 2012服務器之一上工作正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM