【微服务专题之】.Net6下集成消息队列上-RabbitMQ

博客 分享
0 132
优雅殿下
优雅殿下 2022-07-01 16:01:18
悬赏:0 积分 收藏

【微服务专题之】.Net6下集成消息队列上-RabbitMQ

【微服务专题之】.Net6下集成消息队列上-RabbitMQ

?

微信公众号:趣编程ACE
关注可了解更多的.NET日常实战开发技巧,如需源码 请公众号后台留言 源码;
[如果觉得本公众号对您有帮助,欢迎关注]

.Net中RabbitMQ的使用

【微服务专题之】.Net6下集成消息队列上-RabbitMQ【文字+视频】

超清观看视频哦~


 

代码演示

-详细见代码注释,操作看上文视频

生产者代码

 1using RabbitMQ.Client; 2using System.Text; 3 4 5// 创建一个连接工厂 6var factory = new ConnectionFactory() 7{ 8    Uri = new Uri("amqp://guest:guest@localhost:5672") 9};10// 工厂开始连接11using (var connection = factory.CreateConnection())12// 创建一个连接通道13using (var channel = connection.CreateModel())14{15    channel.QueueDeclare(queue: "hello",16                         // 持久性 一直保持  直到消费者 消费队列17                         durable: true,18                         // 独占19                         exclusive: false,20                         autoDelete: false,21                         arguments: null);2223    // 发送的消息24    string message = "Hello World!";25    var body = Encoding.UTF8.GetBytes(message);2627    // 基本发布 不指定交换28    channel.BasicPublish(exchange: "",29                         // 路由键   就是队列名称30                         routingKey: "hello",31                         // 基础属性32                         basicProperties: null,33                         // 传递的消息体34                         body: body);35    Console.WriteLine(" [x] Sent {0}", message);36}3738Console.WriteLine(" Press [enter] to exit.");39Console.ReadLine();

消费者代码

 1using RabbitMQ.Client; 2using RabbitMQ.Client.Events; 3using System.Text; 4 5// 创建一个连接工厂 6var factory = new ConnectionFactory() 7{ 8    Uri = new Uri("amqp://guest:guest@localhost:5672") 9};10using (var connection = factory.CreateConnection())11using (var channel = connection.CreateModel())12{13    channel.QueueDeclare(queue: "hello",14                         durable: true,15                         exclusive: false,16                         autoDelete: false,17                         arguments: null);1819    // 创建一个消费者基本事件20    var consumer = new EventingBasicConsumer(channel);21    consumer.Received += (model, ea) =>22    {23        var body = ea.Body.ToArray();24        var message = Encoding.UTF8.GetString(body);25        Console.WriteLine(" [x] Received {0}", message);26    };27    channel.BasicConsume(queue: "hello",28                         // 自动确认29                         autoAck: true,30                         consumer: consumer);3132    Console.WriteLine(" Press [enter] to exit.");33    Console.ReadLine();

环境安装

docker下安装RabbitMQ镜像

1// 详细解释看视频2docker run -d --hostname my-rabbit --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq34//这一段必须需要  否则网站起不来 其中 c71119561de6   为容器ID5docker exec -it c71119561de6  rabbitmq-plugins enable rabbitmq_management

RabbitMQ是个轻量级,易部署的队列,我会根据官网指导,分享一系列常用使用技巧的,随时保持关注哦~

?

posted @ 2022-07-01 15:27 【趣编程】.NET 阅读(0) 评论(0) 编辑 收藏 举报
回帖
    优雅殿下

    优雅殿下 (王者 段位)

    2018 积分 (2)粉丝 (47)源码

    小小码农,大大世界

     

    温馨提示

    亦奇源码

    最新会员