在C#中使用RabbitMQ中间件,你需要先安装RabbitMQ.Client库。你可以通过NuGet包管理器来安装。
以下是一个简单的示例,展示了如何在C#中使用RabbitMQ中间件发送和接收消息:
using System;
using RabbitMQ.Client;
using RabbitMQ.Client.Events;
public class Send
{
public static void Main()
{
var factory = new ConnectionFactory() { HostName = "localhost" };
using(var connection = factory.CreateConnection())
using(var channel = connection.CreateModel())
{
channel.QueueDeclare(queue: "hello",
durable: false,
exclusive: false,
autoDelete: false,
arguments: null);
string message = "Hello World!";
var body = Encoding.UTF8.GetBytes(message);
channel.BasicPublish(exchange: "",
routingKey: "hello",
basicProperties: null,
body: body);
Console.WriteLine(" [x] Sent {0}", message);
}
Console.WriteLine(" Press [enter] to exit.");
Console.ReadLine();
}
}
public class Receive
{
public static void Main()
{
var factory = new ConnectionFactory() { HostName = "localhost" };
using(var connection = factory.CreateConnection())
using(var channel = connection.CreateModel())
{
channel.QueueDeclare(queue: "hello",
durable: false,
exclusive: false,
autoDelete: false,
arguments: null);
var consumer = new EventingBasicConsumer(channel);
consumer.Received += (model, ea) =>
{
var body = ea.Body.ToArray();
var message = Encoding.UTF8.GetString(body);
Console.WriteLine(" [x] Received {0}", message);
};
channel.BasicConsume(queue: "hello",
autoAck: true,
consumer: consumer);
Console.WriteLine(" Press [enter] to exit.");
Console.ReadLine();
}
}
}
在这个示例中,我们首先创建了一个名为"hello"的队列。然后,我们发送一条消息到这个队列。最后,我们创建一个消费者来接收这个消息。
注意:这个示例假设你已经在本地运行了RabbitMQ服务器。如果你的RabbitMQ服务器运行在其他地方,你需要修改factory.CreateConnection()
中的HostName
参数。