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
投稿
猜你喜欢
Java使用synchronized修饰方法来同步线程的实例演示
2022-11-29 18:33:29
mybatis-plus与JPA混合的使用方式
2022-06-24 02:10:25
java实现简单的俄罗斯方块
2021-08-02 18:13:11
java快速生成数据库文档详情
2023-11-10 05:25:20
C#数字图像处理之图像缩放的方法
2023-02-12 11:09:29
Spring Cloud 整合 nacos实现动态配置中心的详细步骤
2023-01-19 18:15:00
Java动态 代理的应用详解
2023-11-25 08:15:24
OpenJDK源码调试图文教程
2022-09-26 01:40:25
Java简单实现约瑟夫环算法示例
2023-04-04 09:59:41
关于jdk环境变量的配置方式解读
2023-04-22 14:53:05
讲解使用Docker搭建Java Web运行环境
2023-02-05 15:58:12
Shiro 控制并发登录人数限制及登录踢出的实现代码
2023-09-18 02:03:56
Flutter基于Dart Unwrapping Multiple Optional小技巧
2023-07-05 11:44:19
c#关于JWT跨域身份验证的实现代码
2023-09-12 18:26:02
Java Swing JLabel标签的使用方法
2021-09-16 05:48:13
C# 操作Excel代码总结
2022-10-11 01:54:29
Android开发之删除项目缓存的方法
2021-07-22 17:15:45
C#SuperSocket的搭建并配置启动总结
2022-01-25 15:16:24
Android studio实现简易计算器App功能
2023-03-07 07:57:57
WinForm拖拽控件生成副本的解决方法
2022-07-02 13:28:26