繁体   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