保钠

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  26 随笔 :: 1 文章 :: 18 评论 :: 27930 阅读
< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

在 .NET 中使用 RabbitMQ 的步骤如下:

  1. 安装 RabbitMQ

    首先,您需要在系统上安装 RabbitMQ。您可以从 RabbitMQ 官方网站下载适用于您所使用的操作系统的安装程序。如果您使用的是 Windows 操作系统,则可以从 Microsoft 官网下载安装程序。

  1. 安装 RabbitMQ 客户端库
     在 .NET 应用程序中使用 RabbitMQ,需要安装 RabbitMQ 客户端库。您可以在 NuGet 上找到 RabbitMQ 客户端库的包。要安装它,可以使用 Visual Studio 软件包管理器或者命令行:
dotnet add package RabbitMQ.Client
  1. 编写 RabbitMQ 生产者代码

    以下是使用 RabbitMQ 发送消息的示例代码。

复制代码
using System;
using System.Text;
using RabbitMQ.Client;
using RabbitMQ.Client.Events;

class Program
{
    static void Main(string[] args)
    {
        ConnectionFactory factory = new ConnectionFactory() { HostName = "localhost" };
        using (IConnection connection = factory.CreateConnection())
        using (IModel channel = connection.CreateModel())
        {
            channel.QueueDeclare(queue: "hello",
                                 durable: false,
                                 exclusive: false,
                                 autoDelete: false,
                                 arguments: null);

            string message = "Hello World!";
            byte[] 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. 编写 RabbitMQ 消费者代码

    以下是使用 RabbitMQ 接收消息的示例代码。

复制代码
using System;
using System.Text;
using RabbitMQ.Client;
using RabbitMQ.Client.Events;

class Program
{
    static void Main(string[] args)
    {
        ConnectionFactory factory = new ConnectionFactory() { HostName = "localhost" };
        using (IConnection connection = factory.CreateConnection())
        using (IModel channel = connection.CreateModel())
        {
            channel.QueueDeclare(queue: "hello",
                                 durable: false,
                                 exclusive: false,
                                 autoDelete: false,
                                 arguments: null);

            EventingBasicConsumer consumer = new EventingBasicConsumer(channel);
            consumer.Received += (model, ea) =>
            {
                byte[] body = ea.Body;
                string 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();
        }
    }
}
复制代码

以上示例代码将 "Hello World!" 消息发送到 "hello" 队列中,然后将此消息收到并打印到控制台。

 注意:在使用 RabbitMQ 前,请确保已经在计算机上安装 RabbitMQ 和 .NET RabbitMQ 客户端库。
posted on   保钠  阅读(215)  评论(3编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示