C# 4.0 如果有新消息可用,MSMQ能否引发事件

C# 4.0 如果有新消息可用,MSMQ能否引发事件,c#-4.0,msmq,C# 4.0,Msmq,作为不断轮询现有Microsoft消息队列的替代方法,我想知道MSMQ是否可能引发某种类型的事件/通知,以让应用程序知道消息可用 MessageQueue的通知不好,并且没有消息到达通知(请参阅) 您可以自己实现通知。这是一个很好的实现(请参见)我知道这是一个老问题,但我来这里是为了寻找队列中收到消息时遇到的事件。以下是我所做的: private static MessageQueue _messageQueue = null; static void Main(string[]

作为不断轮询现有Microsoft消息队列的替代方法,我想知道MSMQ是否可能引发某种类型的事件/通知,以让应用程序知道消息可用

MessageQueue
的通知不好,并且没有消息到达通知(请参阅)


您可以自己实现通知。这是一个很好的实现(请参见)

我知道这是一个老问题,但我来这里是为了寻找队列中收到消息时遇到的事件。以下是我所做的:

   private static MessageQueue _messageQueue = null;
    static void Main(string[] args)
    {

        if (MessageQueue.Exists(@".\Private$\orders"))
        {
            _messageQueue = new MessageQueue(@".\Private$\orders") {Label = "Testing Queue"};
        }


        _messageQueue.ReceiveCompleted += new ReceiveCompletedEventHandler(OnMessageRecieved);
        _messageQueue.BeginReceive();

        Console.ReadLine();

    }

    private static void OnMessageRecieved(object sender, ReceiveCompletedEventArgs e)
    {
        //Process your message here. 
        _messageQueue.BeginReceive();
    }

使用ReceiveCompleted事件。链接不起作用,请帮助创建一个侦听器,在收到消息时调用该侦听器。