簡體   English   中英

msmq中沒有消息

[英]No message in msmq

我編寫了一個將消息添加到本地隊列的控制台應用程序。 但是,沒有插入任何消息。

我將隊列創建為事務性並插入如下:

      string path = @"FormatName:DIRECT=OS:computername\private$\myqueue";
        MessageQueue queue = new MessageQueue();
        queue.Path = path;            

        foreach (string msg in messages)
        {
            queue.Send("inputMessage", msg);

        }

這有什么不對嗎?

謝謝。

這很簡單。 您正在向事務性隊列發送非事務性消息。 MSMQ將丟棄該消息。

使用“MessageQueue.Send(Object,MessageQueueTransaction)”方法

如果啟用負源日記功能,則可以查看死信隊列以查看消息被丟棄的原因。

干杯
約翰休斯威爾

您需要先創建隊列才能發送給它(這是一次性操作,除非您刪除隊列):

MessageQueue queue;
if (MessageQueue.Exists(path))
  queue = new MessageQueue(path);
else
  queue = MessageQueue.Create(path);

如果您有事務性隊列,請務必檢查您是否正在使用事務

 using(MessageQueueTransaction tx = new MessageQueueTransaction()) { tx.Begin(); queue.Send(message, tx); tx.Commit(); } 

在另一篇文章中查看更多信息在進行交易時,消息未達到MSMQ

嘗試交換您的發送訂單。

我必須仔細檢查,但我很確定訂單是對象,標簽

queue.Send(msg, "inputMessage");

暫無
暫無

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

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