4

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

4

2 回答 2

2

MessageQueue通知不佳且没有消息到达通知(请参阅MessageQueue 类

您可以自己实现通知。这是很好的实现(请参阅A simple MSMQ Listener helper class

于 2012-08-05T12:17:07.533 回答
1

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

   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();
    }
于 2016-11-10T08:41:24.777 回答