C#操作RabbitMQ的完整實(shí)例
一、下載RabbitMQ
http://www.rabbitmq.com/install-windows.html

二、下載OTP
http://www.erlang.org/downloads

三、安裝OTP、RabbitMQ


四、配置RabbitMQ
找到bat的目錄

執(zhí)行相關(guān)命令

1.添加用戶密碼 rabbitmqctl add_user wenli wenli
2.設(shè)置wenli為管理員rabbitmqctl set_user_tags wenli administrator
3.啟動(dòng)RabbitMQ的web管理rabbitmq-plugins enable rabbitmq_management
4.創(chuàng)建virtual host

5.設(shè)置用戶權(quán)限
點(diǎn)擊用戶名進(jìn)行設(shè)置

將virtual hosts 權(quán)限賦給用戶wenli

6.創(chuàng)建Exchanges

五.創(chuàng)建C# console
1.下載RabbitMQ驅(qū)動(dòng) https://github.com/yswenli/Wenli.Data.RabbitMQ/releases/tag/Release1.0.0
2.添加引用 
3.添加配置

4.測(cè)試代碼:
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("正在入隊(duì)");
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("正在出隊(duì)");
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("測(cè)試完成");
}
}
}
5.運(yùn)行結(jié)果:



至此C# 成功操作Rabbitmq完成。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 在C# .NET中使用RabbitMQ實(shí)現(xiàn)發(fā)布/訂閱模式的方法
- C#使用RabbitMQ的詳細(xì)教程
- C#使用RabbitMQ發(fā)送和接收消息工具類的實(shí)現(xiàn)
- C#?RabbitMQ的使用詳解
- C#通過(guò)rabbitmq實(shí)現(xiàn)定時(shí)任務(wù)(延時(shí)隊(duì)列)
- C#用RabbitMQ實(shí)現(xiàn)消息訂閱與發(fā)布
- C#利用RabbitMQ實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)消息傳輸
- c# rabbitmq 簡(jiǎn)單收發(fā)消息的示例代碼
- C#中RabbitMQ的使用小結(jié)
相關(guān)文章
C#中使用HttpDownLoadHelper下載文件實(shí)例
這篇文章主要介紹了C#中使用HttpDownLoadHelper下載文件的方法,并實(shí)例講述了在webfrom中與在mvc中的實(shí)現(xiàn)方法,需要的朋友可以參考下2014-10-10
C#與PHP的md5計(jì)算結(jié)果不同的解決方法
今天在用C#接入我的登錄api發(fā)現(xiàn)了一個(gè)問(wèn)題,登陸的時(shí)候無(wú)論如何都會(huì)出現(xiàn)用戶名和密碼錯(cuò)誤的問(wèn)題,后來(lái)通過(guò)查找排除找的了問(wèn)題的原因是因?yàn)镃#與PHP的md5計(jì)算結(jié)果不同導(dǎo)致的,下面就來(lái)看看如何解決這個(gè)問(wèn)題吧。2016-12-12
詳解C#中的定時(shí)器Timer類及其垃圾回收機(jī)制
這篇文章主要介紹了C#中的定時(shí)器Timer類及其垃圾回收機(jī)制,講解了Timer相關(guān)的單線程異步工作,需要的朋友可以參考下2016-04-04
C#中判斷字符串是全角還是半角的實(shí)現(xiàn)代碼
本篇文章主要是對(duì)C#中判斷字符串是全角還是半角的實(shí)現(xiàn)代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01

