【发布时间】:2011-03-20 01:20:05
【问题描述】:
如何使用 c# 在 msmq 中订阅队列。 假设我有一个客户作为赢单并想订阅一个 que,每当有消息到达 que 时,我都希望收到有关它的通知。任何例子。 谢谢
【问题讨论】:
如何使用 c# 在 msmq 中订阅队列。 假设我有一个客户作为赢单并想订阅一个 que,每当有消息到达 que 时,我都希望收到有关它的通知。任何例子。 谢谢
【问题讨论】:
您还可以使用 WCF 订阅来自 MSMQ 队列的消息,并将它们作为 WCF 服务中的服务方法进行处理。
退房
【讨论】:
您需要查看命名空间System.Messaging 中的类型。
有完整的异步支持,因此您可以在不停止 UI 的情况下等待消息到达(但对于 WinForms 中的异步操作,您需要像往常一样使用 Control.BeginInvoke 回调您的 UI)。
MSDN 有很多例子,例如asynchronous message receive.
【讨论】:
为什么不看看NServiceBus?
这是一个非常稳定和成熟的平台,建立在 MSMQ 之上,并且开箱即用地提供 pub/sub。非常容易上手,而且 WCF 无需亲自动手!
【讨论】:
正如@marc_s 所建议的,您可以使用 WCF 服务,该服务可以使用 NetMSMQ 或 MSMQIntegrated 绑定来订阅 MSMQ 中的消息。
如果您不想在 Winforms 应用程序和 MSMQ 之间引入 WCF 服务,则需要构建轮询机制来检查 MSMQ 是否有新消息的到达。
【讨论】: