【问题标题】:is there any event or callback on MSMQ for new message added to queueMSMQ 上是否有任何事件或回调将新消息添加到队列中
【发布时间】:2012-07-11 08:07:52
【问题描述】:

我有两个组件。一个是窗口应用程序,另一个是窗口服务。
窗口应用程序写入消息队列 (MSMQ),服务正在读取它并处理消息。
服务是否应该一直在排队等待新消息...就代码而言,我应该
使用无限 while 循环或 Timer

队列上是否有任何事件或回调以将新消息添加到队列?这样当窗口应用程序向队列添加新消息时,Service 可以知道。
这就是我要使我的应用程序高效的所有要求,因此如果有任何其他方法可以实现这一点,您可以提出建议。
感谢阅读

【问题讨论】:

    标签: c# msmq message-queue


    【解决方案1】:

    您不需要任何事件或循环。 Receive 方法将从队列中读取,如果队列为空,它将阻塞,直到添加新消息。如果在此期间需要做其他事情,请将接收代码放在单独的线程中。

    您还可以使用BeginReceive 来使用异步方法。当从队列中读取消息时,这实际上会引发一个事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-14
      • 1970-01-01
      • 1970-01-01
      • 2012-05-20
      • 2010-11-11
      • 2011-07-31
      • 2014-07-29
      • 1970-01-01
      相关资源
      最近更新 更多