5,EasyNetQ-Send Receive

而发布/订阅和请求/响应模式是位置透明的,因为您不需要指定消息的消费者所在的位置,发送/接收模式专门用于通过命名队列进行通信。 它也不会对可以通过队列发送的消息的类型做任何假设。 这意味着您可以通过同一个队列发送不同类型的消息。

 

要发送消息,请使用IBus上的发送方法,指定要发送消息的队列的名称和消息本身:

bus.Send("my.queue", new MyMessage{ Text = "Hello Widgets!" });

要为特定消息类型设置消息接收器,请使用IBus上的Receive方法:

bus.Receive<MyMessage>("my.queue", message => Console.WriteLine("MyMessage: {0}", message.Text));

您可以通过使用采取Action <IReceiveRegistration>的接收重载来为同一队列上的不同消息类型设置多个接收器,例如:

bus.Receive("my.queue", x => x
    .Add<MyMessage>(message => deliveredMyMessage = message)
    .Add<MyOtherMessage>(message => deliveredMyOtherMessage = message));

如果消息到达不具有匹配接收者的接收队列,则EasyNetQ将将消息写入到EasyNetQ错误队列,其中有一个异常,称为“找不到消息类型<message type>”的处理程序。

 

转载于:https://www.cnblogs.com/zd1994/p/7169042.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值