-
C#教程之C#调用RabbitMQ实现消息队列(2)
运行代码。
然后我们使用命令行rabbitmqctl list_queues,去RabbitMQ的服务器查看当前消息队列,如下图:
可以看到,我们的消息已经发送成功了。
KibaRabbitMQReceived
现在我们编写接收消息代码,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
static void Main( string [] args) { var factory = new ConnectionFactory(); factory.HostName = "localhost" ; factory.UserName = "guest" ; factory.Password = "guest" ; using ( var connection = factory.CreateConnection()) { using ( var channel = connection.CreateModel()) { channel.QueueDeclare( "kibaQueue" , false , false , false , null ); /* 这里定义了一个消费者,用于消费服务器接受的消息 * C#开发需要注意下这里,在一些非面向对象和面向对象比较差的语言中,是非常重视这种设计模式的。 * 比如RabbitMQ使用了生产者与消费者模式,然后很多相关的使用文章都在拿这个生产者和消费者来表述。 * 但是,在C#里,生产者与消费者对我们而言,根本算不上一种设计模式,他就是一种最基础的代码编写规则。 * 所以,大家不要复杂的名词吓到,其实,并没那么复杂。 * 这里,其实就是定义一个EventingBasicConsumer类型的对象,然后该对象有个Received事件, * 该事件会在服务接收到数据时触发。 */ var consumer = new EventingBasicConsumer(channel); //消费者 channel.BasicConsume( "kibaQueue" , true , consumer); //消费消息 consumer.Received += (model, ea) => { var body = ea.Body; var message = Encoding.UTF8.GetString(body); }; } } } |
栏目列表
最新更新
解决使用canvas生成含有微信头像的邀请海
C#调用RabbitMQ实现消息队列
常用正则表达式
【转载】C#中decimal保留2位有效小数
Winows上简单配置使用kafka(.net使用)
webpack4.x 从零开始配置vue 项目(二)基础
白话系列之实现自己简单的mvc式webapi框架
FastReport的模板文件frx文件啊怎样打开并编
Winform中怎样跨窗体获取另一窗体的控件对
Winform中使用FastReport的PictureObject时通过代
.Net Standard(.Net Core)实现获取配置信息
Linux PXE + Kickstart 自动装机
Shell 编程 基础
Shell 编程 条件语句
CentOS8-网卡配置及详解
Linux中LVM逻辑卷管理
1.数码相框-相框框架分析(1)
Ubuntu armhf 版本国内源
Linux中raid磁盘阵列
搭建简易网站
Dubbo(五):深入理解Dubbo核心模型Invok
vfp教程之VFP与Excel交互编程
vfp教程之在VFP中实现跟变式组合框及椭圆
SQL SERVER查询数据库所有表的大小,按照记
使用 SQL 服务器时,"评估期已过期"错
sql server无法连接本地服务器
使用sql语句创建表
VB操作Access数据库小记 ————————
access数据库远程连接
java web操作Access数据库