开发者社区> yswenli> 正文

一个C#操作RabbitMQ的完整例子

简介: 一、下载RabbitMQ http://www.rabbitmq.com/install-windows.html   二、下载OTP http://www.erlang.org/downloads   三、安装OTP、RabbitMQ 四、配置RabbitMQ 找到bat的目录 执行相关命令    1.
+关注继续查看

 

一、下载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.测试代码:

    

 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 Program
11     {
12         static void Main(string[] args)
13         {
14             Console.Title = "Wenli.Data.RabbitMQ.Console";
15             Console.WriteLine("正连接到mq");
16 
17             try
18             {
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                     else
72                     {
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完成

 

 


转载请标明本文来源:http://www.cnblogs.com/yswenli/p/7446919.html
更多内容欢迎star作者的github:https://github.com/yswenli/Wenli.Data.RabbitMQ
如果发现本文有什么问题和任何建议,也随时欢迎交流~

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一2.4 执行计划各个操作的含义
本节书摘来自华章出版社《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一 书中的第2章,第2.4节,作者:黄玮,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1820 0
表格存储 SQL 操作实战
表格存储做为一款结构化存储系统,近期发布了新功能 SQL,大幅简化了查询的门槛,用户无需学习繁琐的 SDK,也不用区分表,索引等不同的接口,可以像访问传统的 MySQL 这类数据库一样,使用 SQL 的方式访问云原生的结构化大数据存储。下面我们就来具体实操下,看看查询用起来顺不顺手。
163 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
29122 0
字符串常用操作
'''字符串的方法 s.index() s.rindex() s.find() s.rfind() s.count() s.replace() s.partition() s.
811 0
MyEclipse +Tomcat 异常操作
安装完MyEclipse 2014,用JAX-WS的方式写了一个小段Web Service,用MyEclipse 自带的 Tomcat 部署没有问题,用我自己的,却出现下面的错误: java.lang.
778 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
20688 0
QT绘图的底层操作
绘图的底层操作LCD屏幕上的每个点都与显示缓冲区中的数据有特定的关系,对16位色的显示缓冲区,每两个字节对应LCD上的一个像素,因此我们只要修改缓冲区某两个地址上的数据就可以改变LCD上这个点的色彩,如果我们能够得到这个显示缓冲区的地址,应用程序编写者就可以抛开驱动程序那些抽象的接口,直接对显示缓冲区操作。
930 0
+关注
yswenli
CShapCoder
50
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载