2010-07-23 32 views
7

如何使用c#订阅msmq中的队列。 假设我有一个客户端作为胜利的形式,并希望订阅一个消息队列,每次消息到达队列我希望通知它的形式。任何例子。 谢谢订阅msmq

回答

3

您需要查看命名空间System.Messaging中的类型。

有完全的异步支持,所以你可以等待消息到达而不会停止你的用户界面(但你需要使用Control.BeginInvoke作为WinForms中的异步操作的普通回调)。

MSDN有很多例子,例如的asynchronous message receive

0

至于建议的@marc_s你可以使用WCF服务,可以使用NetMSMQ或MSMQIntegrated结合订阅MSMQ中的消息。

如果您不想在Winforms应用程序和MSMQ之间引入WCF服务,则需要构建轮询机制以检查MSMQ是否有新消息到达。

1

为什么不看看NServiceBus

这是一个非常稳定和成熟的平台,建立在MSMQ上,并且具有开箱即用的pub/sub功能。死容易开始,并且不需要让你的手弄脏WCF!