.<em><!--red_beg-->Net<!--red_end--></em>中简单地使用RabbitMQ消息队列
一.简介 消息队列(Message Queue),指的是消息传递之间的容器,通常使用场景是,不需要立刻得到结果,但有需要对并发量进行控制的时候。
有很多组件可以实现消息队列,这里使用RabbitMQ。本文是为了简单记录一下.Net (Core)中如何通过EasyNetQ去使用RabbitMQ。
二.使用
1.环境准备
下载安装Erlang和RabbitMQ,我这里是在Windows上安装的。
准备两个控制台应用(Publisher和Subscriber)和一个类库(Messages)。
通过Nuget,给Publisher和Subscriber项目安装EasyNetQ。
在Messages类库中,添加一个类。
public class TextMessage{public string Text { get; set; }}
2.Publisher项目
class Program{public static void Main(string[] args){var connStr = "host=127.0.0.1;virtualHost=EDCVHOST;username=admin;password=123456";using (var bus = RabbitHutch.CreateBus(connStr)){var input = "";Console.WriteLine("Please enter a message. "Quit" to quit.");while ((input = Console.ReadLine()) != "Quit"){bus.PubSub.Publish(new TextMessage { Text = input });}}}}
通过EasyNetQ去连接RabbitMQ,然后使用它创建的IBus实例来发布消息。这里的通过用户在控制台输入字符串来发送消息。
3.Subscriber项目
class Program{public static void Main(string[] args){var connStr = "host=127.0.0.1;virtualHost=EDCVHOST;username=admin;password=123456";using (var bus = RabbitHutch.CreateBus(connStr)){bus.PubSub.Subscribe("my_test_subscriptionid", HandleTextMessage);Console.WriteLine("Listening for messages. Hit to quit.");Console.ReadLine();}}public static void HandleTextMessage(TextMessage textMessage){Console.ForegroundColor = ConsoleColor.Red;Console.WriteLine("Got message: {0}", textMessage.Text);Console.ResetColor();}}
这里是订阅消息,只要程序在运行中,就会一直处于监听状态。只要发布者发布了指定类型的消息,这里就可以实时获取到,然后打印出来。
4.测试
运行两个控制台应用。在Publisher中输入字符,Subscriber就会实时获取。
进入到RabbitMQ界面查看,在connections中可以看到目前两个客户端都在运行中(running)。
在Queues中,看到目前注册的队列只有一个。
三.总结
1.在.Net中可以使用EasyNetQ插件来使用RabbitMQ。
2.本文的例子涉及到了消息队列的订阅发布模式。
https://www.cnblogs.com/shadoll/p/14597682.html
版权声明:本文来源于网友收集或网友提供,仅供学习交流之用,如果有侵权,请转告版主或者留言,本公众号立即删除。
支持小薇
腾讯云福利 :
爆款2核2G云服务器首年50元,2G2核5M云服务器259元/3年
链接:https://curl.qcloud.com/1VVs7OBH
关注:DotNet开发跳槽
觉得不错,请点个在看呀
相关阅读
-
.<em><!--red_beg-->Net<!--red_end--><...
一 简介 消息队列(MessageQueue),指的是消息传递之间的容器... -
牟定县:“六大”基层党建品牌促进党员...
近年来,牟定县林业和草原局基层党建工作围绕唱响念好党建红书,写... -
楚雄州总工会开展“不忘初心 牢记使命...
4月27日至28日,楚雄州总工会开展了夏日送清凉 喜迎二十大系列慰问... -
牟定县白马山州级自然保护区管护局 多...
进入森林防火期以来,牟定县白马山州级自然保护区管护局制定了《牟... -
楚雄民政:“四强化”推进作风革命加强...
楚雄州民政局认真贯彻落实省委、州委关于推进作风革命加强机关效能... -
中越电力贸易全面重启 推动两国能源互...
近日,云南红河与越南老街220千伏电力联网双回线路恢复运行,中越电...