参考文章:
Asp.NetCore轻松学-实现一个轻量级高可复用的RabbitMQ客户端
.NET Core 使用RabbitMQ
RabbitMQ教程
RabbitMQ一个简单可靠的方案(.Net Core实现)
RabbitMQ学习(六)——消息确认机制(Confirm模式)
C#使用RabbitMQ
.NET Core 使用RabbitMQ
CAP带你轻松玩转ASP.NETCore消息队列
.NetCore Cap 结合 RabbitMQ 实现消息订阅
[译]RabbitMQ教程C#版 - 发布订阅
学习源码
发送消息:https://github.com/awei0130/vue-html-vue-qrcode-/blob/master/WindowsFormsApp2/Form1.cs
接受消息:https://github.com/awei0130/vue-html-vue-qrcode-/blob/master/rabbitmqConsumer/Program.cs
发送消息
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Console.WriteLine("Start! ");
IConnectionFactory connFactory = new ConnectionFactory()
{
HostName = "127.0.0.1",
Port = 5672,
VirtualHost = "mq1",
UserName = "admin",
Password = "admin"
};
// rabbitmq(connFactory);//普通模式
//rabbitmqExchangeFanout(connFactory);//交换机-发布订阅模式
//rabbitmqExchangeDirect(connFactory);//交换机-路由模式
rabbitmqExchangeTopic(connFactory);//交换机-通配符模式
}
/// <summary>
/// 普通模式
/// </summary>
/// <param name="connFactory"></param>
public void rabbitmq(IConnectionFactory connFactory)
{
using (IConnection conn = connFactory.CreateConnection())
{
using (IModel channel = conn.CreateModel())
{
String queueName = String.Empty;
queueName = "queue1";
channel.QueueDeclare(
queue: queueName,
durable: false,
exclusive: false,