C#操作RabbitMQ的完整例項
阿新 • • 發佈:2019-02-17
一、下載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
2.新增引用
3.新增配置
4.測試程式碼:
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
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.執行結果:
至此C# 成功操作Rabbitmq完成。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援指令碼之家。
原文連結:http://www.cnblogs.com/yswenli/archive/2017/08/29/7446919.html