C#操作RabbitMQ的完整实例

所属分类: 软件编程 / C#教程 阅读数: 97
收藏 0 赞 0 分享

一、下载RabbitMQ

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

二、下载OTP

http://www.erlang.org/downloads

三、安装OTP、RabbitMQ

四、配置RabbitMQ

找到bat的目录

执行相关命令

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

5.设置用户权限

点击用户名进行设置

将virtual hosts 权限赋给用户wenli

6.创建Exchanges

五.创建C# console

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

2.添加引用

3.添加配置

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#抽象类与抽象方法详解

这篇文章主要为大家详细介绍了C#抽象类与抽象方法的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

C#代码实现扑克牌排序的几种方式

今天小编就为大家分享一篇关于C#代码实现扑克牌排序,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#泛型概念的简介与泛型的使用

今天小编就为大家分享一篇关于C#泛型概念的简介与泛型的使用,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C# 7.0 使用下划线忽略使用的变量的原因分析

这篇文章主要介绍了C# 7.0 使用下划线忽略使用的变量的原因浅析,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C# 中使用正则表达式匹配字符的含义

正则表达式的作用用来描述字符串的特征。本文重点给大家介绍C# 中使用正则表达式匹配字符的含义,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

C# Dictionary和SortedDictionary的简介

今天小编就为大家分享一篇关于C# Dictionary和SortedDictionary的简介,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#中SQL Command的基本用法

今天小编就为大家分享一篇关于C#中SQL Command的基本用法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#使用SQL DataReader访问数据的优点和实例

今天小编就为大家分享一篇关于C#使用SQL DataReader访问数据的优点和实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#使用SQL Dataset数据集代码实例

今天小编就为大家分享一篇关于的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#使用SQL DataAdapter数据适配代码实例

今天小编就为大家分享一篇关于C#使用SQL DataAdapter数据适配代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享
查看更多