【问题标题】:How to grab one MSMQ message at a time from the queue如何从队列中一次获取一条 MSMQ 消息
【发布时间】:2017-06-16 19:08:20
【问题描述】:

我正在使用控制台应用程序 (C#) 来读取 MSMQ 消息。

以下是工作代码。

C#(控制台应用程序)

static void Main(string[] args)
{
     MessageQueue[] myQueueArray = MessageQueue.GetPrivateQueuesByMachine("192.0.0.1");

                    if (myQueueArray != null)
                    {                    
                        foreach (MessageQueue mq in myQueueArray)
                        {
                            if (mq.QueueName.Contains("myqueue"))
                            {
                                myQueue = mq;
                                break;
                            }
                        }

                        if (myQueue != null)
                        {

                            Message[] messageList = myQueue.GetAllMessages();
                            if (messageList != null)
                            {                           
                                foreach (Message msg in messageList)
                                {    
                                 //doing some operation with the message
                                }    
                            }    
                        }
                     }
                 }

上面的代码运行良好。

但我想逐一读取 MSMQ 消息如何从队列中一次获取一条消息?

【问题讨论】:

    标签: c# asp.net .net console-application msmq


    【解决方案1】:

    您可以使用MessageQueue.Receive 一次将单个消息出列,请参阅此 MSDN article。您还可以使用BeginReceiveReceiveCompleted 事件来获取通知,请参阅此 MSDN article

    编辑

    这个MSDN 链接具有非常简单的示例代码,可帮助 OP 从 MSMQ 中取出消息(通过注释指出)

    【讨论】:

    猜你喜欢
    • 2018-01-03
    • 1970-01-01
    • 2017-04-17
    • 2016-11-29
    • 2012-02-06
    • 2012-08-26
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    相关资源
    最近更新 更多