源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#操作RabbitMQ的完整实例

  • 时间:2020-02-20 18:04 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#操作RabbitMQ的完整实例
一、下载RabbitMQ [url=http://www.rabbitmq.com/install-windows.html]http://www.rabbitmq.com/install-windows.html[/url] [img]http://files.jb51.net/file_images/article/201708/2017082911192360.png[/img] [b]二、下载OTP[/b] [url=http://www.erlang.org/downloads]http://www.erlang.org/downloads[/url] [img]http://files.jb51.net/file_images/article/201708/2017082911192361.png[/img] [b]三、安装OTP、RabbitMQ[/b] [img]http://files.jb51.net/file_images/article/201708/2017082911192362.png[/img] [img]http://files.jb51.net/file_images/article/201708/2017082911192363.png[/img] [b]四、配置RabbitMQ[/b] 找到bat的目录 [img]http://files.jb51.net/file_images/article/201708/2017082911192364.png[/img] 执行相关命令 [img]http://files.jb51.net/file_images/article/201708/2017082911192365.png[/img] 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 [img]http://files.jb51.net/file_images/article/201708/2017082911192366.png[/img] 5.设置用户权限 点击用户名进行设置 [img]http://files.jb51.net/file_images/article/201708/2017082911192367.png[/img] 将virtual hosts 权限赋给用户wenli [img]http://files.jb51.net/file_images/article/201708/2017082911192368.png[/img] 6.创建Exchanges [img]http://files.jb51.net/file_images/article/201708/2017082911192369.png[/img] [b]五.创建C# console[/b] 1.下载RabbitMQ驱动 [url=https://github.com/yswenli/Wenli.Data.RabbitMQ/releases/tag/Release1.0.0]https://github.com/yswenli/Wenli.Data.RabbitMQ/releases/tag/Release1.0.0[/url] 2.添加引用 [img]http://files.jb51.net/file_images/article/201708/2017082911192370.png[/img] 3.添加配置 [img]http://files.jb51.net/file_images/article/201708/2017082911192471.png[/img] 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.运行结果: [img]http://files.jb51.net/file_images/article/201708/2017082911192472.png[/img] [img]http://files.jb51.net/file_images/article/201708/2017082911192473.png[/img] [img]http://files.jb51.net/file_images/article/201708/2017082911192474.png[/img] 至此C# 成功操作Rabbitmq完成。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部