前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于.NET的RabbitMQ消息通讯

基于.NET的RabbitMQ消息通讯

原创
作者头像
软件架构师Michael
发布2024-08-16 14:55:54
1190
发布2024-08-16 14:55:54

RabbitMQ是一种消息通讯机制,跟具体的编程语言无关。在企业级开发中,RabbitMQ是个常用的消息通讯机制。

通俗地讲,任何MQ都是一个临时存储消息的容器。

本文简单分享下基于.NET的RabbitMQ消息通讯。

废话不多说,直奔主题。上代码。

注意:实现需要引用RabbitMQ.Clinet程序集。

代码语言:csharp
复制
using RabbitMQ.Client;
using RabbitMQ.Client.Events;
using System.Text;
namespace RabbitMQSend
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello RabbitMQ,生产者!");
            var factory = new ConnectionFactory()       // 创建连接工厂对象
            {
                HostName = "localhost",
                Port = 5672,
                UserName = "guest",
                Password = "guest"
            };
            var connection = factory.CreateConnection();    // 创建连接对象
            var channel = connection.CreateModel();         // 创建连接会话对象

            string queueName = "myqueue";

            // 声明一个队列
            channel.QueueDeclare(
                queue: queueName,   // 队列名称
                durable: false,     // 是否持久化,true持久化,队列会保存磁盘,服务器重启时可以保证不丢失相关信息
                exclusive: false,   // 是否排他,如果一个队列声明为排他队列,该队列仅对时候次声明它的连接可见,并在连接断开时自动删除
                autoDelete: false,  // 是否自动删除,自动删除的前提是:至少有一个消费者连接到这个队列,之后所有与这个队列连接的消费者都断开时,才会自动删除
                arguments: null     // 设置队列的其他参数
            );

            string str = string.Empty;

            do
            {
                Console.WriteLine("发送内容:");
                str = Console.ReadLine()!;

                // 消息内容
                byte[] body = Encoding.UTF8.GetBytes(str);

                // 发送消息
                channel.BasicPublish("", queueName, null, body);

                // Console.WriteLine("成功发送消息:" + str);
            } while (str.Trim().ToLower() != "exit");

            channel.Close();
            connection.Close();
        }
    }
}

【小结】

无论现实多么惨不忍睹,都要坚持日供一卒。持续沉淀自己,不断完善进步。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档