要在 ASP.NET 6.0 Web Core 中配置和使用 RabbitMQ,您需要先安裝 RabbitMQ 客戶端庫。
安裝 RabbitMQ 客戶端庫:
1. 打開項目文件(例如 .csproj
文件),將以下內容添加到 <ItemGroup>
下:
<PackageReference Include="RabbitMQ.Client" Version="6.3.0" />
2. 在命令行中執行 dotnet restore
命令以還原項目依賴項。
以下是使用 RabbitMQ 的一個常見場景的示例代碼:
using RabbitMQ.Client;
using System;
using System.Text;
namespace RabbitMQExample
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Sending message to RabbitMQ...");
// 創建連接工廠
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, RabbitMQ!";
var body = Encoding.UTF8.GetBytes(message);
// 發布消息到隊列
channel.BasicPublish(exchange: "",
routingKey: "hello",
basicProperties: null,
body: body);
Console.WriteLine("Message sent: {0}", message);
}
}
Console.WriteLine("Press [enter] to exit.");
Console.ReadLine();
}
}
}
該代碼示例將一個消息發布到名為 "hello" 的隊列中。在任何時候,只要有消費者連接到該隊列,就會將消息傳遞給消費者。
請注意,在使用此代碼之前,您需要安裝并運行 RabbitMQ 服務器,并確保與代碼中指定的主機名、隊列名稱和交換機名稱相匹配。
還需要編寫一個消費者來接收消息,可以使用相同的 RabbitMQ 客戶端庫來實現。