赞
踩
要在 .NET Core 应用程序中实现使用 RabbitMQ 发送和接收消息的简单示例,首先需要在开发机器上安装 RabbitMQ 服务器并运行它。接下来,我们将创建两个控制台应用程序:一个用于发送消息(生产者),另一个用于接收消息(消费者)。
创建两个控制台项目(例如,RabbitMQProducer
和 RabbitMQConsumer
)。
在每个项目中,使用 NuGet 安装 RabbitMQ 客户端库。打开项目的 NuGet 包管理器控制台(PMC),并运行以下命令:
Install-Package RabbitMQ.Client -Version 6.2.1
根据您看到的最新版本进行调整。
在 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(); } }
在 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(); } } }
RabbitMQConsumer
程序以确保它正在等待接收消息。RabbitMQProducer
程序发送消息。如果一切设置正确,您将在 RabbitMQConsumer
控制台应用程序中看到收到的消息 “Hello World!”。
这个简单的示例展示了如何在 .NET Core 中使用 RabbitMQ 实现基本的消息发布和订阅。在实际应用中,您可能还需要考虑消息确认、错误处理和重试机制,以构建更健壮和可靠的消息系统。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。