C#操作RabbitMQ的完整实例
作者:YSWALLE 时间:2022-05-05 19:41:05
一、下载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(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
标签:C#,RabbitMQ
0
投稿
猜你喜欢
如何解决通过spring-boot-maven-plugin package失败问题
2021-10-16 15:43:45
SpringBoot下的值注入(推荐)
2023-04-01 04:45:01
Java多线程Atomic包操作原子变量与原子类详解
2023-08-18 07:46:25
深入理解Java设计模式之组合模式
2023-09-02 02:06:25
java图片格式转换的三段代码
2023-01-22 05:43:02
C#实现上位机与欧姆龙PLC通讯(FINS)
2022-10-05 03:10:08
TKmybatis的框架介绍和原理解析
2022-08-28 21:35:42
C#禁止textbox复制、粘贴、剪切及鼠标右键的方法
2022-08-21 09:13:40
Spring main方法中如何调用Dao层和Service层的方法
2023-11-28 23:15:19
深入浅析c#静态多态性与动态多态性
2022-10-16 09:41:17
使用C#开发OPC Server服务器源码解析
2021-05-30 04:30:14
Java Spring Dubbo三种SPI机制的区别
2022-05-04 00:29:51
C#读写Config配置文件案例
2022-10-22 20:11:09
轻松理解Java面试和开发中的IoC(控制反转)
2023-08-10 03:00:35
Java 实战项目之在线点餐系统的实现流程
2022-08-05 04:11:35
基于CXF搭建webService的实例讲解
2023-07-02 10:41:34
利用源码编译Android系统的APK和可执行命令的方法
2023-12-22 13:09:46
Android中EditText光标在4.0中的bug及解决方法
2023-10-01 19:24:17
详解Java如何改变字符串中的字符
2022-06-13 14:29:48
Spring Cloud Eureka 服务上下线监控的实现
2022-02-18 21:06:15