1. 程式人生 > >C#操作RabbitMQ的完整例項

C#操作RabbitMQ的完整例項

一、下載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