[英]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.