簡體   English   中英

MSMQ發送消息到遠程隊列

[英]MSMQ Send message to Remote Queue

我正在嘗試將消息發送到遠程隊列。 我的進程沒有失敗,但我仍然沒有看到遠程隊列上的消息? 如果它無法處理消息,我會認為它會失敗?

我注意到在我的本地計算機上遠程隊列列在Outgoing隊列中,但是也沒有看到消息。 這里非常無知,所有的例子都表明我正在做的事情(或者我認為)是正確的。

代碼(簡單測試):

    using (var transaction = new TransactionScope())
    {
        using (var queue = new MessageQueue(@"FormatName:DIRECT=OS:mymachine\MyQueueQueue"))
        {
            XDocument xdoc = XDocument.Parse("<root/>");

                 var message = new Message(xdoc.ToString());
                queue.Send(message, MessageQueueTransactionType.Single);
        }

        transaction.Complete();
    }

    Console.Read();
}

我做錯了什么? 奇怪......沒有錯誤,但在任何地方都看不到消息。 寫入工作到我的本地隊列。

您在本地計算機上看到的隊列是MSMQ如何將消息從您的計算機傳輸到遠程計算機。 所以只要沒有消息就不要擔心。 如果其上有消息,則表明遠程隊列由於某種原因不可用。

可能的權限可能是一個問題。 檢查遠程隊列上的發送權限。 如果呼叫是跨域調用,則需要將ANONYMOUS LOGON添加到您的權限中。

還嘗試啟用MSMQ事件日志(如果您運行的是服務器2008或更高版本)。

UPDATE

看起來您正在調用公共隊列地址。 你應該使用私人隊列。 除了PRIVATE $指令外,地址相同:

FORMATNAME:DIRECT = OS:mymachine上\\ PRIVATE $ \\ MyQueueQueue

另外:你的隊列名稱myQueueQueue就像你的隊列地址一樣嗎?

暫無
暫無

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

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