• asp.net core rabbitmq的基本使用


    要在 .NET Core 应用程序中实现使用 RabbitMQ 发送和接收消息的简单示例,首先需要在开发机器上安装 RabbitMQ 服务器并运行它。接下来,我们将创建两个控制台应用程序:一个用于发送消息(生产者),另一个用于接收消息(消费者)。

    步骤 1: 安装 RabbitMQ 客户端库

    1. 创建两个控制台项目(例如,RabbitMQProducerRabbitMQConsumer)。

    2. 在每个项目中,使用 NuGet 安装 RabbitMQ 客户端库。打开项目的 NuGet 包管理器控制台(PMC),并运行以下命令:

      Install-Package RabbitMQ.Client -Version 6.2.1
      
      • 1

      根据您看到的最新版本进行调整。

    步骤 2: 实现生产者

    RabbitMQProducer 项目的 Program.cs 中,添加以下代码来实现一个简单的消息生产者:

    using System;
    using RabbitMQ.Client;
    using System.Text;
    
    class Program
    {
        static void Main(string[] args)
        {
            // 连接到 RabbitMQ 服务器
            var factory = new ConnectionFactory() { HostName = "localhost" };
            using(var connection = factory.CreateConnection())
            using(var channel = connection.CreateModel())
            {
                // 声明一个队列
                channel.QueueDeclare(queue: "hello",
                                     durable: false,
                                     exclusive: false,
                                     autoDelete: false,
                                     arguments: null);
    
                string message = "Hello World!";
                var body = Encoding.UTF8.GetBytes(message);
    
                // 发送消息到队列
                channel.BasicPublish(exchange: "",
                                     routingKey: "hello",
                                     basicProperties: null,
                                     body: body);
                Console.WriteLine(" [x] Sent {0}", message);
            }
            
            Console.WriteLine(" Press [enter] to exit.");
            Console.ReadLine();
        }
    }
    
    • 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
    • 32
    • 33
    • 34
    • 35

    步骤 3: 实现消费者

    RabbitMQConsumer 项目的 Program.cs 中,添加以下代码来实现一个简单的消息消费者:

    using RabbitMQ.Client;
    using RabbitMQ.Client.Events;
    using System;
    using System.Text;
    
    class Program
    {
        static void Main(string[] args)
        {
            // 连接到 RabbitMQ 服务器
            var factory = new ConnectionFactory() { HostName = "localhost" };
            using (var connection = factory.CreateConnection())
            using (var channel = connection.CreateModel())
            {
                // 声明一个队列
                channel.QueueDeclare(queue: "hello",
                                     durable: false,
                                     exclusive: false,
                                     autoDelete: false,
                                     arguments: null);
    
                var consumer = new EventingBasicConsumer(channel);
                consumer.Received += (model, ea) =>
                {
                    var body = ea.Body.ToArray();
                    var message = Encoding.UTF8.GetString(body);
                    Console.WriteLine(" [x] Received {0}", message);
                };
                // 开始消费队列中的消息
                channel.BasicConsume(queue: "hello",
                                     autoAck: true,
                                     consumer: consumer);
    
                Console.WriteLine(" Press [enter] to exit.");
                Console.ReadLine();
            }
        }
    }
    
    • 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
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    步骤 4: 运行示例

    1. 确保 RabbitMQ 服务在本地运行。
    2. 首先启动 RabbitMQConsumer 程序以确保它正在等待接收消息。
    3. 然后启动 RabbitMQProducer 程序发送消息。

    如果一切设置正确,您将在 RabbitMQConsumer 控制台应用程序中看到收到的消息 “Hello World!”。

    这个简单的示例展示了如何在 .NET Core 中使用 RabbitMQ 实现基本的消息发布和订阅。在实际应用中,您可能还需要考虑消息确认、错误处理和重试机制,以构建更健壮和可靠的消息系统。

  • 相关阅读:
    3. Caller 服务调用 - dapr
    高效能团队的Java研发规范(进阶版)
    打不过AI就拉拢?ChatGPT和MidJourney已成我小秘书!
    鼠标行为HHT变换的工业互联网用户身份认证
    通过TPT的FUSION平台实现联合测试
    【2022国赛模拟】最小生成树——Kruskal、矩阵、树剖动态DP
    小波神经网络的基本原理,小波神经网络功能分析
    彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-项目入口与路由EP01
    springboot基于Android的洗衣店预约APP毕业设计源码260839
    ES Nested解释
  • 原文地址:https://blog.csdn.net/qq_41942413/article/details/137982146