Logo

Logo

C# 操作Rabbitmq 原创

Xzavier Aaron
Xzavier Aaron 2025年02月12日
818 阅读 0 评论 约 5840 字 阅读约 12 分钟

下载安装rabbitmq

参考

安装依赖包

下面的生产者和消费者都需要安装

RabbitMQ.Client 7.0.0

创建生产者

using RabbitMQ.Client;
using System.Threading.Channels;

namespace RabbitMQStu01_Product
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("RabbitMQ生产者");
            // 1、建立RabbitMQ连接
            ConnectionFactory connectionFactory = new ConnectionFactory();
            connectionFactory.HostName = "127.0.0.1";
            connectionFactory.Port = 5672;
            connectionFactory.UserName = "guest";
            connectionFactory.Password = "guest";
            connectionFactory.VirtualHost = "/";
            IConnection connection = connectionFactory.CreateConnectionAsync().Result;

            // 2、创建连接通道
            var channel = connection.CreateChannelAsync().Result;
            //发送商品数据。
            var queueName = "test20241111";
            // 3、发送商品数据
            // 3.1、创建队列
            var queueDeclareOk = channel.QueueDeclareAsync(queueName, false, false, false).Result;
            if (queueDeclareOk == null)
            {
                Console.WriteLine("创建队列成功");
                return;
            }
            // 3.2、发送数据
            byte[] messageBodyBytes = System.Text.Encoding.UTF8.GetBytes("Hello, world!");
            var props = new BasicProperties();
            props.ContentType = "text/plain";
            props.DeliveryMode = DeliveryModes.Persistent;
            channel.BasicPublishAsync("", queueName,
                mandatory: true, basicProperties: props, body: messageBodyBytes);
            Console.WriteLine("发送成功");
            Console.ReadKey();
        }
    }
}

创建消费者

using RabbitMQ.Client;
using System.Text;

namespace RabbitMQStu01_Consumer
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("RabbitMQ消费者");
            // 1、建立RabbitMQ连接
            ConnectionFactory connectionFactory = new ConnectionFactory();
            connectionFactory.HostName = "127.0.0.1";
            connectionFactory.Port = 5672;
            connectionFactory.UserName = "guest";
            connectionFactory.Password = "guest";
            connectionFactory.VirtualHost = "/";
            IConnection connection = connectionFactory.CreateConnectionAsync().Result;

            // 2、创建连接通道
            var channel = connection.CreateChannelAsync().Result;
            var queueName = "test20241111";
            // 3、消费商品
            // 3.1、实现IBasicConsumer
            var basicConsumer = new RabbitMQ.Client.Events.AsyncEventingBasicConsumer(channel);
            // 3.2、接受商品数据
            basicConsumer.ReceivedAsync += async (mode, data) => {
                // 3.3、消费商品
                var productByte = data.Body;
                string productString = Encoding.UTF8.GetString(productByte.ToArray());
                Console.WriteLine("消费了一条消息:"+ productString);
            };

            channel.BasicConsumeAsync(queueName,
                                true,
                                "",
                                 false,
                                 false,
                                 new Dictionary<string, object>(),
                                 basicConsumer).Wait();
            Console.ReadKey();
        }
    }
}

生产数据
在这里插入图片描述
消费数据
在这里插入图片描述

注意:消费者监听之后可以一直消费,生产者需要一件一件的生产


查看完整代码

橙子主题打折出售

其实我不卖,主要是这里是放广告的,所以就放了一个
毕竟主题都没做完,卖了也是坑.

购买它
部分文章可能存在转载,如果涉及到侵权,请联系删除文章。

探索AIGC相关的精彩内容,共 15 篇文章

Azure AI 服务之语音识别

简介 Azure AI 服务中的语音识别 API 是微软提供的一项先进技术,旨在帮助开发者轻松实现语 ... C# 操作Rabbitmq 原创

2026-02-17 · Xzavier Aaron
MCP | 一文详解什么是 MCP以及 MCP 可以做什么

一、什么是 MCP MCP(Model Context Protocol)是一个专为大型语言模型(L ... C# 操作Rabbitmq 原创

2026-02-14 · Shen, Luke
你的工作流程,值得一个“全自动数字分身”:录制、截图、成文,一气呵成

一、一句话认识 TestFlow Recorder 在数字化工作环境中,如何准确记录操作步骤并生成清 ... C# 操作Rabbitmq 原创

2026-02-14 · Xzavier Aaron
Flowise 前端框架配置指南

用户需求 问题:有没有适合配置 Flowise 的前端框架? 目标:寻找类似 Open WebUI ... C# 操作Rabbitmq 原创

2026-02-14 · Xzavier Aaron