博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个C#操作RabbitMQ的完整例子
阅读量:5746 次
发布时间:2019-06-18

本文共 2582 字,大约阅读时间需要 8 分钟。

 

一、下载RabbitMQ

 

二、下载OTP

 

三、安装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驱动

  2.添加引用     

  3.添加配置

     

   4.测试代码:

    

1 using System; 2 using System.Text; 3 using System.Threading; 4 using System.Threading.Tasks; 5  6 namespace Wenli.Data.RabbitMQ.Console 7 { 8     using Console = System.Console; 9 10     class Program11     {12         static void Main(string[] args)13         {14             Console.Title = "Wenli.Data.RabbitMQ.Console";15             Console.WriteLine("正连接到mq");16 17             try18             {19                 Test();20             }21             catch (Exception ex)22             {23                 Console.WriteLine("err:" + ex.Message + ex.Source + ex.StackTrace);24             }25 26             Console.Read();27         }28 29 30         static void Test()31         {32 33             var topic = "testtopic";34 35             var cnn = RabbitMQBuilder.Get(MQConfig.Default).GetConnection();36 37             var operation = cnn.GetOperation(topic);38 39             Console.WriteLine("正连接到订阅【" + topic + "】");40 41             operation.Subscribe();42 43             Console.WriteLine("正在入队");44 45             Task.Factory.StartNew(() =>46             {47                 while (true)48                 {49                     operation.Enqueue(Encoding.UTF8.GetBytes(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "     hello!"));50                     Thread.Sleep(1);51                 }52             });53 54 55 56 57             Console.WriteLine("正在出队");58 59 60 61             Task.Factory.StartNew(() =>62             {63                 while (true)64                 {65                     var result = operation.Dnqueue();66 67                     if (result == null)68                     {69                         Thread.Sleep(1);70                     }71                     else72                     {73                         Console.WriteLine(Encoding.UTF8.GetString(result));74                     }75                 }76             });77 78             Console.ReadLine();79 80             Console.WriteLine("正在取消订阅");81 82             operation.UnSubscribe();83 84             Console.WriteLine("测试完成");85         }86     }87 }

  5.运行结果:

   

至此C# 成功操作Rabbitmq完成

 

 

转载请标明本文来源:
更多内容欢迎star作者的github:
如果发现本文有什么问题和任何建议,也随时欢迎交流~

 

你可能感兴趣的文章
ubuntu14安装
查看>>
NOIP2010 引水入城 题解
查看>>
FCL源码中数组类型的学习及排序函数Sort函数的分析
查看>>
[日常] 算法-单链表的创建
查看>>
iOS开发 关于property的简单总结
查看>>
pythonwin editor 下载
查看>>
SSM框架以json格式传给前端页面
查看>>
函数指针和指针函数
查看>>
input标签 disabled 和 readonly的区别
查看>>
[Delphi]ListView基本用法大全
查看>>
Tomcat内存溢出解决办法
查看>>
Android获取屏幕高度、标题高度、状态栏高度详解
查看>>
OBJ文件格式分析工具: objdump, nm,ar
查看>>
pycaffe 配置
查看>>
asp.net2.0安全性(2)--用户个性化设置(1)--转载来自车老师
查看>>
【转】Python之列表生成式、生成器、可迭代对象与迭代器
查看>>
黄松130702010036
查看>>
Python3学习笔记(八):集合
查看>>
用U盘和iso镜像文件重装系统
查看>>
C# 调用VBA的帮助类
查看>>