软件编程
位置:首页>> 软件编程>> C#编程>> C#操作RabbitMQ的完整实例

C#操作RabbitMQ的完整实例

作者:YSWALLE  发布时间:2022-05-05 19:41:05 

标签:C#,RabbitMQ

一、下载RabbitMQ

http://www.rabbitmq.com/install-windows.html

C#操作RabbitMQ的完整实例

二、下载OTP

http://www.erlang.org/downloads

C#操作RabbitMQ的完整实例

三、安装OTP、RabbitMQ

C#操作RabbitMQ的完整实例

C#操作RabbitMQ的完整实例

四、配置RabbitMQ

找到bat的目录

C#操作RabbitMQ的完整实例

执行相关命令

C#操作RabbitMQ的完整实例

1.添加用户密码 rabbitmqctl add_user wenli wenli

2.设置wenli为管理员rabbitmqctl set_user_tags wenli administrator

3.启动RabbitMQ的web管理rabbitmq-plugins enable rabbitmq_management

4.创建virtual host

C#操作RabbitMQ的完整实例

5.设置用户权限

点击用户名进行设置

C#操作RabbitMQ的完整实例

将virtual hosts 权限赋给用户wenli

C#操作RabbitMQ的完整实例

6.创建Exchanges

C#操作RabbitMQ的完整实例

五.创建C# console

1.下载RabbitMQ驱动 https://github.com/yswenli/Wenli.Data.RabbitMQ/releases/tag/Release1.0.0

2.添加引用 C#操作RabbitMQ的完整实例

3.添加配置

C#操作RabbitMQ的完整实例

4.测试代码:


using System;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace Wenli.Data.RabbitMQ.Console
{
 using Console = System.Console;

class Program
 {
   static void Main(string[] args)
   {
     Console.Title = "Wenli.Data.RabbitMQ.Console";
     Console.WriteLine("正连接到mq");

try
     {
       Test();
     }
     catch (Exception ex)
     {
       Console.WriteLine("err:" + ex.Message + ex.Source + ex.StackTrace);
     }

Console.Read();
   }

static void Test()
   {

var topic = "testtopic";

var cnn = RabbitMQBuilder.Get(MQConfig.Default).GetConnection();

var operation = cnn.GetOperation(topic);

Console.WriteLine("正连接到订阅【" + topic + "】");

operation.Subscribe();

Console.WriteLine("正在入队");

Task.Factory.StartNew(() =>
     {
       while (true)
       {
         operation.Enqueue(Encoding.UTF8.GetBytes(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "   hello!"));
         Thread.Sleep(1);
       }
     });

Console.WriteLine("正在出队");

Task.Factory.StartNew(() =>
     {
       while (true)
       {
         var result = operation.Dnqueue();

if (result == null)
         {
           Thread.Sleep(1);
         }
         else
         {
           Console.WriteLine(Encoding.UTF8.GetString(result));
         }
       }
     });

Console.ReadLine();

Console.WriteLine("正在取消订阅");

operation.UnSubscribe();

Console.WriteLine("测试完成");
   }
 }
}

5.运行结果:

C#操作RabbitMQ的完整实例

C#操作RabbitMQ的完整实例

C#操作RabbitMQ的完整实例

至此C# 成功操作Rabbitmq完成。

来源:http://www.cnblogs.com/yswenli/archive/2017/08/29/7446919.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com