Sparkdo.RabbitMQ 1.0.2

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Sparkdo.RabbitMQ --version 1.0.2
                    
NuGet\Install-Package Sparkdo.RabbitMQ -Version 1.0.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sparkdo.RabbitMQ" Version="1.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sparkdo.RabbitMQ" Version="1.0.2" />
                    
Directory.Packages.props
<PackageReference Include="Sparkdo.RabbitMQ" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sparkdo.RabbitMQ --version 1.0.2
                    
#r "nuget: Sparkdo.RabbitMQ, 1.0.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Sparkdo.RabbitMQ@1.0.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sparkdo.RabbitMQ&version=1.0.2
                    
Install as a Cake Addin
#tool nuget:?package=Sparkdo.RabbitMQ&version=1.0.2
                    
Install as a Cake Tool

Sparkdo.RabbitMQ

Sparkdo RabbitMQ 集成库,提供 RabbitMQ 消息队列功能实现。

功能特性

  • 连接池管理:高效管理 RabbitMQ 连接资源
  • 通道池管理:复用 RabbitMQ 通道以提高性能
  • 消息消费者:简化消息接收和处理流程
  • 序列化支持:内置 JSON 消息序列化器
  • 配置灵活:支持多连接配置和自定义参数

安装

<PackageReference Include="Sparkdo.RabbitMQ" Version="x.x.x" />

配置

appsettings.json 中添加 RabbitMQ 配置:

{
  "RabbitMQ": {
    "Connections": {
      "Default": {
        "HostName": "localhost",
        "Port": 5672,
        "UserName": "guest",
        "Password": "guest"
      }
    }
  }
}

使用示例

// 注册服务
services.AddSparkdoRabbitMQ();

// 发送消息
var channelPool = serviceProvider.GetRequiredService<IChannelPool>();
using var channelAccessor = await channelPool.AcquireAsync();
var channel = channelAccessor.Channel;

var message = new MyMessage { Text = "Hello, RabbitMQ!" };
var body = Encoding.UTF8.GetBytes(JsonSerializer.Serialize(message));

await channel.BasicPublishAsync(
    exchange: "my-exchange",
    routingKey: "my-routing-key",
    body: body
);

// 接收消息
var consumerFactory = serviceProvider.GetRequiredService<IRabbitMqMessageConsumerFactory>();
var exchange = new ExchangeDeclareConfiguration("my-exchange", ExchangeType.Direct);
var queue = new QueueDeclareConfiguration("my-queue");

var consumer = await consumerFactory.CreateAsync(exchange, queue);
consumer.OnMessageReceived(async (channel, args) =>
{
    var message = JsonSerializer.Deserialize<MyMessage>(Encoding.UTF8.GetString(args.Body.ToArray()));
    Console.WriteLine($"Received: {message.Text}");
    await Task.CompletedTask;
});

依赖

  • Sparkdo.Json
  • Sparkdo.Threading
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Sparkdo.RabbitMQ:

Package Downloads
Sparkdo.EventBus.RabbitMQ

Sparkdo RabbitMQ 事件总线实现,提供基于 RabbitMQ 的分布式事件发布和订阅功能

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.3-preview.1 30 5/17/2026
1.0.2 106 4/27/2026
1.0.2-preview.5 56 4/15/2026
1.0.2-preview.4 72 2/8/2026
1.0.2-preview.3 74 2/1/2026
1.0.2-preview.2 72 1/31/2026
1.0.2-preview.1 186 12/4/2025
1.0.1 271 11/27/2025
1.0.0 257 11/25/2025
1.0.0-preview.5 138 10/24/2025