Tx.Core.RabbitMqProvider
1.5.2026.27
dotnet add package Tx.Core.RabbitMqProvider --version 1.5.2026.27
NuGet\Install-Package Tx.Core.RabbitMqProvider -Version 1.5.2026.27
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="Tx.Core.RabbitMqProvider" Version="1.5.2026.27" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Tx.Core.RabbitMqProvider" Version="1.5.2026.27" />
<PackageReference Include="Tx.Core.RabbitMqProvider" />
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 Tx.Core.RabbitMqProvider --version 1.5.2026.27
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Tx.Core.RabbitMqProvider, 1.5.2026.27"
#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 Tx.Core.RabbitMqProvider@1.5.2026.27
#: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=Tx.Core.RabbitMqProvider&version=1.5.2026.27
#tool nuget:?package=Tx.Core.RabbitMqProvider&version=1.5.2026.27
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Basic implementation
Exmaple:
- Define connection in the DI container
public static async Task<IServiceCollection> AddRabbitMqProviderAsync(this IServiceCollection services, RabbitMqSettings rabbitMqSettings)
{
services.AddSingleton(rabbitMqSettings);
services.AddSingleton<IConnectionFactory>(_ => CreateConnectionFactory(rabbitMqSettings));
var connectionFactory = CreateConnectionFactory(rabbitMqSettings);
var connection = await connectionFactory.CreateConnectionAsync();
services.AddSingleton(connection);
//services.AddSingleton<ModelFactory>();
services.AddSingleton<IRabbitMqClientProvider, RabbitMqClientProvider>();
return services;
}
private static ConnectionFactory CreateConnectionFactory(RabbitMqSettings settings)
{
return new ConnectionFactory
{
UserName = settings.RabbitMqUserName,
Password = settings.RabbitMqPassword,
HostName = settings.RabbitMqHostName,
Port = settings.RabbitMqPort,
AutomaticRecoveryEnabled = true,
ConsumerDispatchConcurrency = settings.RabbitMqConcurrency
};
}
- Send a message to que Queue
public class MessageSender
{
private readonly IRabbitMqClientProvider _rabbitMqClient;
public MessageSender(IRabbitMqClientProvider rabbitMqClient)
{
_rabbitMqClient = rabbitMqClient;
}
public async Task SendMessageAsync()
{
var message = new { Id = Guid.NewGuid(), Text = "Hello, RabbitMQ!" };
await _rabbitMqClient.PublishAsync("my-exchange", "my-routing-key", message);
}
}
- Receive messages from Queue
public class MessageReceiver : BackgroundService
{
private readonly IRabbitMqClientProvider _rabbitMqClient;
private readonly ILogger<MessageReceiver> _logger;
public MessageReceiver(IRabbitMqClientProvider rabbitMqClient, ILogger<MessageReceiver> logger)
{
_rabbitMqClient = rabbitMqClient;
_logger = logger;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
while (!stoppingToken.IsCancellationRequested)
{
var message = await _rabbitMqClient.ConsumeAsync<MessageDto>("my-queue");
if (message != null)
{
_logger.LogInformation("Received message: {Id} - {Text}", message.Id, message.Text);
}
}
}
}
public record MessageDto(Guid Id, string Text);
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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.
-
net10.0
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.2)
- RabbitMQ.Client (>= 7.0.0)
- Tx.Core.Extensions.String (>= 2.2.2025.10)
-
net8.0
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.2)
- RabbitMQ.Client (>= 7.0.0)
- System.Text.Json (>= 9.0.2)
- Tx.Core.Extensions.String (>= 2.2.2025.10)
-
net9.0
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.2)
- RabbitMQ.Client (>= 7.0.0)
- Tx.Core.Extensions.String (>= 2.2.2025.10)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.5.2026.27 | 115 | 2/27/2026 |
Upgrade to .NET 10 with modern features and optimizations