EasyNetQ支持的最简单的消息传递模式是发布/ 订阅。这种模式是消除消费者信息提供者的绝佳方式。出版商简单地向全世界说,“这已经发生了”或“我现在有了这些信息”。它不关心是否有人正在倾听,他们可能是谁或他们所在的位置。我们可以添加和删除特定消息类型的订阅者,而无需重新配置发布者。我们还可以让许多发布商发布相同的消息,再次添加和删除发布者,而无需重新配置任何其他发布者或订阅者。

要使用EasyNetQ发布(假设您已经创建了IBus实例):

  1. 创建消息的实例,它可以是任何可序列化的.NET类型。
  2. 在IBus上调用Publish方法,将其传递给您的消息实例。

这是代码......

var message = new MyMessage { Text = "Hello Rabbit" };
bus.Publish(message);

为确保邮件传递,请使用Publisher确认。

一个警告

发布/订阅模式中的参与者彼此无知。出版商只是简单地向全世界说'这已发生',订阅者告诉全世界'我关心这个'。在这个模型中,没有人关心特定事件是好的。消息可能有一个订阅者,可能有200个订阅者,或者可能没有订阅者。出版商不应该在意。EasyNetQ实现了这种模式。如果您开始发布并且没有订阅者从未启动过,那么您的消息就会消失。这是设计的。

转载于:https://www.cnblogs.com/wangwust/p/9437337.html

【EasyNetQ】- 发布相关推荐

  1. 简单易用的.NET免费开源RabbitMQ操作组件EasyNetQ解析

    对于目前大多的.NET项目,其实使用的技术栈都是差不多,估计现在很少用控件开发项目的了,毕竟一大堆问题.对.NET的项目,目前比较适合的架构ASP.NET MVC,ASP.NET WebAPI,ORM ...

  2. .NET操作RabbitMQ组件EasyNetQ使用中文简版文档。

    本文出自EasyNetQ官方文档,内容为自己理解加翻译.文档地址:https://github.com/EasyNetQ/EasyNetQ/wiki/Quick-Start EasyNetQ简介 Ea ...

  3. EasyNetQ介绍

    EasyNetQ 是一个容易使用,坚固的,针对RabbitMQ的 .NET API. 假如你尽可能快的想去安装和运行RabbitMQ,请去看入门指南. EasyNetQ是为了提供一个尽可能简洁的适用与 ...

  4. 使用EasyNetQ组件操作RabbitMQ消息队列服务

    RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现,是实现消息队列应用的一个中间件,消息队列中间件是分布式系统中重要的组件,主要解决应用耦合, ...

  5. NetCore基于EasyNetQ的高级API使用RabbitMq

    一.消息队列 消息队列作为分布式系统中的重要组件,常用的有MSMQ,RabbitMq,Kafa,ActiveMQ,RocketMQ.至于各种消息队列的优缺点比较,在这里就不做扩展了,网上资源很多. 更 ...

  6. 【EasyNetQ】- 使用Future Publish调度事件

    许多业务流程要求在将来某个日期安排事件.例如,在与客户进行初次销售联系后,我们可能希望在将来的某个时间安排跟进电话.EasyNetQ可以通过其Future Publish功能帮助您实现此功能.例如,这 ...

  7. 【EasyNetQ】- 发送接收

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

  8. 11,EasyNetQ-调度事件与定时发布

    许多业务流程都要求将事件安排在未来的某个日期. 例如,在与客户进行初次销售联系之后,我们可能希望在将来某个时间安排后续电话. EasyNetQ可以通过其未来发布功能帮助您实现此功能. 例如,我们在这里 ...

  9. 基于EasyNetQ的RabbitMQ封装类

    最近在捣鼓RabbitMQ,为了方便使用,自己基于EasyNetQ封装了一个类,现在贴出来还望各路大佬神明指点,共同学习. 1 /// <summary> 2 /// RabbitMQ客户 ...

最新文章

  1. 动态显示时采色改为单帧采色
  2. centeros 7源码安装mysql_Linux下源码编译安装MySql,centeros7
  3. 在java中使用JMH(Java Microbenchmark Harness)做性能测试
  4. SAP Analytics Cloud里如何基于一个已有的model创建Story
  5. 前端笔记-vue中使用router进行页面跳转及除掉url中的#
  6. mysql容器重启数据是否丢失_docker容器重启 数据会丢吗
  7. c语言课程设计--拼图游戏,C语言课程设计_拼图游戏.pdf
  8. nginx post请求超时_nginx的重试机制以及nginx常用的超时配置说明
  9. 搞清字符集和字符编码
  10. hexo(Next主题)修改文字大小
  11. 缺失.NET Framework组件的解决方法
  12. Ubuntu 切换中文目录为英文目录
  13. MySQL DBLE_MySQL 中间件 - DBLE 简单使用
  14. Oracle 18c新特性一览
  15. 解决java下载文件中文文件名乱码问题(ie,谷歌,火狐)
  16. 洛谷P2000 拯救世界(NTT+生成函数)
  17. 一个新的王者在8月即将加冕——Treasure project(TPC)
  18. Ant Counting
  19. 负数的二进制表示及左移功能的验证
  20. 分不清?!Sketch Measure 和 Sketch Meaxure 有什么区别?

热门文章

  1. lua能在stm32arm上运行吗_IOS App能在Mac运行!苹果这黑科技能撼动微软吗?
  2. 将查询出来的数据按照一个字段分组且排序过程中,遇到的一些有关group的问题(分组排序应该使用partition by)
  3. 进程外session(session保存在sqlserver)
  4. Swagger使用总结
  5. 关联规则算法Apriori的学习与实现
  6. 大数据分析,利用向外扩展技术深入挖掘商业价值
  7. osg动态加载模型不显示_探索未知种族之osg类生物---渲染遍历之Renderer::draw()简介...
  8. SpringMVC教程
  9. yolov3 python接口_darknetyolov3调用Python接口来检测和保存批处理图像,DarknetYoloV3,python,进行,批量,图片,并...
  10. 如何使用ant_从 0 开始,成为 Ant-Design Contributor