一个C#操作RabbitMQ的完整例子
一、下载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();
}
}); Console.WriteLine("正在出队"); Task.Factory.StartNew(() =>
{
while (true)
{
var result = operation.Dnqueue(); if (result == null)
{
Thread.Sleep();
}
else
{
Console.WriteLine(Encoding.UTF8.GetString(result));
}
}
}); Console.ReadLine(); Console.WriteLine("正在取消订阅"); operation.UnSubscribe(); Console.WriteLine("测试完成");
}
}
}
5.运行结果:



至此C# 成功操作Rabbitmq完成
转载请标明本文来源:http://www.cnblogs.com/yswenli/p/7446919.html
更多内容欢迎star作者的github:https://github.com/yswenli/Wenli.Data.RabbitMQ
如果发现本文有什么问题和任何建议,也随时欢迎交流~
一个C#操作RabbitMQ的完整例子的更多相关文章
- C#操作XML的完整例子——XmlDocument篇
这是一个用c#控制台程序下, 用XmlDocument 进行XML操作的的例子,包含了查询.增加.修改.删除.保存的基本操作.较完整的描述了一个XML的整个操作流程.适合刚入门.net XML操作的 ...
- C#操作XML的完整例子——XmlDocument篇(转载,仅做学习之用)
原文地址:http://www.cnblogs.com/serenatao/archive/2012/09/05/2672621.html 这是一个用c#控制台程序下, 用XmlDocument 进 ...
- 一个调用其他activity的完整例子,使用了 onActivityResult和startActivityForResult
https://blog.csdn.net/qq_32521313/article/details/52451364 Android startActivityForResult基本用法2016年09 ...
- 一个PHP操作大变量的例子
By C extensions we can directly manipulate the large PHP variables, such as:GET,POST,SERVER You can ...
- Python之路:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
- 【转】Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
- python操作RabbitMQ、Redis、Memcache、SQLAlchemy
Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
- Python 【第六章】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
- Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
随机推荐
- java Static的使用
static是一个静态修饰符,用于修饰成员(成员变量,成员函数).<thinking in java>对staic的使用场景有下面2种定义:“一种情形是只想用一个存储区域来保存一个特定的数 ...
- vue+webpack项目实际工作中需要生成一个配置文件供生产环境使用
大家都知道webpack打包十分方便,但是在工作中,前端写好的项目需要后端进行部署,就需要有一个配置文件. 使用插件 : GenerateAssetPlugin , 使用方法 : 1 在项目中安装 ...
- elasticsearch REST API方式批量插入数据
elasticsearch REST API方式批量插入数据 1:ES的服务地址 http://127.0.0.1:9600/_bulk 2:请求的数据体,注意数据的最后一行记得加换行 { &quo ...
- JS - 实现简单易用的倒计时 x 天 x 时 x 分 x 秒
<script> (function () { var tian = document.getElementsByClassName('JS-tian')[0]; var shi = do ...
- Ambari安装之Ambari安装前准备(CentOS6.5)(一)
优秀博客 <Ambari--大数据平台的搭建利器> Ambari安装前准备 (一)机器准备 192.168.80.144 ambari01 (部署Ambari-server和Mirro ...
- PM2源码浅析
PM2工作原理 最近在玩一个游戏,<地平线:黎明时分>,最终Boss是一名叫黑底斯的人,所谓为人,也许不对,黑底斯是一段强大的毁灭进程,破坏了盖娅主进程,从而引发的整个大陆机械兽劣化故事. ...
- CODE大全——机器学习
聚类 聚类任务 背景 在无监督学习(密度估计.异常检测等)中,训练样本的标记信息是未知的(即不人为指定),旨在发现数据之间的内在联系和规律,为进一步的数据分析提供基础. 此类学习任务中研究最多.应用最 ...
- .NET CORE——Console中使用依赖注入
我们都知道,在 ASP.NET CORE 中通过依赖注入的方式来使用服务十分的简单,而在 Console 中,其实也只是稍微绕了个小弯子而已.不管是内置 DI 组件或者第三方的 DI 组件(如Auto ...
- CentOS 7.3.1611系统安装配置图解教程
操作系统:CentOS 7.3.1611 IP地址:192.168.21.130 网关:192.168.21.2 DNS:8.8.8.8 8.8.4.4 备注: CentOS 7.x系列只有64位系统 ...
- 初学Python(三)——字典
初学Python(三)——字典 初学Python,主要整理一些学习到的知识点,这次是字典. #-*- coding:utf-8 -*- d = {1:"name",2:" ...