【EasyNetQ 教程】- 发布

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

时间: 2024-10-12 13:50:05

【EasyNetQ 教程】- 发布的相关文章

【安富莱】RTX嵌入式操作系统教程发布,支持F103,F407和F429,含81个配套例程(2017-10-17)

前言说明:1. 首先感谢大家对我们安富莱电子一年来的支持,2016年我们会再接再厉推出更好的教程. 2. 估计也有网友会问RTX的优势在那里,针对这个问题,教程中第一章分为6条专门回答了这个问题,有兴趣可以看看.    这些优势里面最欣赏的还是这条,基本KEIL在每个中间件里面都说了类似的话,    The library handles the low-level USB requests without the need to write the hardware layer code.  

RabbitMQ官网教程---发布/订阅

(使用python客户端pika 0.9.8) 在前面的教程中我们创建了一个工作队列.假设在一个工作队列后面是每一个被传递给正确的工作者的任务.在这部分中我们将做一些完全不同的事情--我们将给多个消费者传递一个消息.这种模式被称为"发布/订阅". 为了阐明这个模式,我们将构建一个简单的日志系统.它将由两个程序构成--第一个将发出日志消息并且第二个将接收并且打印它们. 在我们的日志系统中每个运行的接收程序副本将获得这个消息.用这种方式我们将可以运行一个接收器并且直接日志到磁盘:而且同时我

【EasyNetQ 教程】- 订阅

EasyNetQ订阅者订阅消息类型(消息类的.NET类型).一旦通过调用Subscribe方法设置了对类型的订阅,就会在RabbitMQ代理上创建一个持久队列,并且该类型的任何消息都将被放置在队列中.只要连接,RabbitMQ就会将任何消息从队列发送给用户. 要订阅消息,我们需要为EasyNetQ提供在消息到达时执行的操作.我们通过传递订阅委托来做到这一点: bus.Subscribe<MyMessage>("my_subscription_id", msg => C

2015年辛星Redis教程发布,是win版奥

最近因为事情比较忙,辛星教程停更了较长的一段时间,在这里给大家道歉啦,让很多朋友们失望了,不过最近稳定下来啦,于是,辛星教程又会稳定持续的更新. 基本上保持每一周或者两周一部教程的频率吧,毕竟我工作在一家创业型公司,有着浓厚的学习氛围和工作激情,相信事情很快就会比较圆满的,加油吧,相信你的实力. 对于Redis,可能绝大多数公司都在用,它作为一个内存数据库,但是提供了比较优秀的持久化机制,而且对分布式有着良好的支持.下面是它在csdn的下载地址:http://download.csdn.net/

2016年辛星less教程发布了

首先简介一下less吧,它是一个css预处理器.当我们的项目比较大的时候,我们的css的代码量也会急剧的膨胀,因此就有很多方案来让编程更加容易,没错,less就是这样一种技术. 在百度网盘的下载地址为:http://pan.baidu.com/s/1o7BOF38  ,全书教程不算长,只有大约23页,算是一个比较轻量级的入门教程了,当然,有什么问题也欢迎在下面留言奥.

【EasyNetQ 教程】- 使用SSL连接

EasyNetQ可以通过SSL连接.戈登·库尔特(Gordon Coulter)撰写的这本指南最初是针对一个提出的问题而写的. 首先,您必须仔细按照https://www.rabbitmq.com/ssl.html上的步骤操作.我花了很多时间试图让openssl部分工作,然后花更多的时间让它按照我需要的方式工作而不仅仅是罐装演示. 即使你让EasyNetQ使用SSL,他们在该页面上显示的那些DotNet示例代码可用于测试也是一个很大的帮助.我有一个简单的控制台应用程序,其中包含Rabbit和下面

【EasyNetQ 教程】- 连接RabbitMQ

如果您习惯于处理与SQL Server等关系数据库的连接,那么您可能会发现EasyNetQ处理连接的方式有点奇怪.与关系数据库的通信始终由客户端启动.客户端打开连接,发出SQL命令,在必要时处理结果,然后关闭连接.一般的建议是,您应该在尽可能短的时间内保持打开连接,并将连接池保留给API. 与RabbitMQ等消息代理进行交谈有点不同,因为连接往往会持续应用程序的生命周期.通常,您将打开连接,创建订阅,然后等待任何消息到达打开的连接.EasyNetQ不假设经纪人随时可用.相反,它采用延迟连接方法

MindManager2018云服务思维导图发布方法教程

新建一个模板为例,右上角发布功能-点击开始新发布.其实在发布前应该先登录账号的,不过没关系,如果忘记了,点击开始发布后,也可以注册登录. MindManager2018云服务思维导图发布方法教程点击开始发布后,首先要选择发布类型:以私有方式发布,使用口令并以私有方式发布,这个就类似于百度网盘那种分享链接,别人提取是否要密码. MindManager2018云服务思维导图发布方法教程我们以私有方式为示例发布,它会自动识别你有没有登录账号,若没有,会自动跳转到登录界面.已有账号的直接登录,那小编暂时

学java教程之构造方法重载

学编程吧学编程学IT教程之java构造方法重载教程发布了,欢迎大家通过xuebiancheng8.com来访问. 在前面分析过什么是构造方法,构造方法是实例化对象的时候执行的代码就是构造方法,用来完成对象的初始化,那么大家想想是不是在一个类中只能有一个构造方法呢,答案是否定的,一个类中可以有多个构造方法,这些构造方法之间就构成了方法的重载,下面我们来看看什么是构造方法重载.先看个例子: public class Person{ private int age; private String na