如何在邮件到达时监控队列?

时间:2011-04-07 16:52:54

标签: c# .net msmq

我正在为特定的MSMQ队列寻找等效的FileSystemWatcher。这样的事情是存在还是我需要自己动手?

谢谢!

2 个答案:

答案 0 :(得分:3)

这基本上不是MQReceiveMessage 的作用吗?我对引用C文档表示歉意,但所有这些功能都应该可供.NET使用。基本上,您可以使用此函数来查看队列中的消息:

  

阅读邮件时,您可以查看(不删除邮件)或检索队列中的邮件(删除邮件)。

您可以使用它来阻止,直到消息准备就绪:

  

在适用的线程中阻止处理,直到在队列中找到消息(这是默认设置)。

显然你也可以使用这个函数异步接收消息,在这种情况下它会像FileSystemWatcher一样运行。

答案 1 :(得分:1)

您可以使用MSMQ触发器。请参阅MSDN here

从第一段开始:

  

消息队列触发器允许您将目标队列中传入消息的到达与一个或多个COM组件或独立可执行程序的功能相关联。这些触发器可用于定义在消息到达队列时可以调用的业务规则,而无需执行任何其他编程。应用程序开发人员不再必须编写任何基础结构代码来提供这种消息处理功能。