首页 文章

.NET中的RabbitMQ订阅者通知

提问于
浏览
8

我们现在正在使用MSMQ和WCF激活功能,它使我们不会拉队列来读取消息 . 它像推送消息到应用程序 .

我们正在考虑从MSMQ移植到RabbitMQ,从而通过消息队列完成我们所需的操作 .

关于RabbitMQ .net客户端支持从订阅队列接收消息通知,我无能为力?

Is there anything in RabbitMQ with .net which can do push notification to subscriber like MSMQ?

或者我们需要不断检查消息的服务运行?

4 回答

  • 5

    在AMQP(和RabbitMQ)中,有两种方法可以检索消息:basic.getbasic.consume .

    Basic.get用于轮询服务器以获取消息 . 如果存在,则将其返回给客户端 . 如果没有,则返回get-empty(.NET方法返回null) .

    Basic.consume设置队列的使用者 . 经纪人在消费者到达时将消息推送给消费者 . 您可以派生DefaultBasicConsumer,它为您提供自己的自定义消费者,或者您可以使用Subscription Message Pattern,它会为您提供阻止nextDelivery() .

    有关更多信息,请查看上面链接的API指南和.NET Client Userguide . 此外,问及RabbitMQ相关问题的一个好地方是rabbitmq-discuss邮件列表 .

  • 12

    我想你是在追赶像EventingBasicConsumer这样的东西 . 另见this question/answer

  • 1

    这是WAS(Windows激活服务)提供的功能 . 现在WAS有net.pipe,net.msmq和net.tcp(以及它的端口共享服务)的监听器适配器 . 我猜你需要一个特定的AMQP监听器适配器 .

    这可能会有所帮助http://msdn.microsoft.com/en-us/library/ms789006.aspx

  • 1

    Here是Simon Dixon使用RabbitMQ发布/订阅服务的一个很好的例子 . 发布者(制作者)是一个.NET应用程序,订阅者(消费者)是一个Android应用程序 .

相关问题