SwitchSoftware.Messaging.Queues.RabbitMQ
8.0.0
dotnet add package SwitchSoftware.Messaging.Queues.RabbitMQ --version 8.0.0
NuGet\Install-Package SwitchSoftware.Messaging.Queues.RabbitMQ -Version 8.0.0
<PackageReference Include="SwitchSoftware.Messaging.Queues.RabbitMQ" Version="8.0.0" />
<PackageVersion Include="SwitchSoftware.Messaging.Queues.RabbitMQ" Version="8.0.0" />
<PackageReference Include="SwitchSoftware.Messaging.Queues.RabbitMQ" />
paket add SwitchSoftware.Messaging.Queues.RabbitMQ --version 8.0.0
#r "nuget: SwitchSoftware.Messaging.Queues.RabbitMQ, 8.0.0"
#:package SwitchSoftware.Messaging.Queues.RabbitMQ@8.0.0
#addin nuget:?package=SwitchSoftware.Messaging.Queues.RabbitMQ&version=8.0.0
#tool nuget:?package=SwitchSoftware.Messaging.Queues.RabbitMQ&version=8.0.0
SwitchSoftware.Messaging.Queues.RabbitMQ
RabbitMQ implementation of SwitchSoftware.Messaging.Queues
MessagePublisher
MessageQueueListener
MessageQueueListener
Installation
nuget repo : https://www.nuget.org/packages/SwitchSoftware.Messaging.Queues.RabbitMQ
There are also versions for .net core 6.0 and 5.0
Usage
Create a class that inherits RabbitMQMessageQueueListener to listen on "myQueue" and handle requests in the handlerequest method:
{
private readonly ILogger<MyQueueListener> _logger;
private const string RouteKey = "myRouteKey";
private const string QueueName = "myQueueName";
public MyQueueListener(IConfiguration configuration, ILogger<MyQueueListener> logger)
: base(configuration, logger, RouteKey, QueueName)
{
_logger = logger;
}
public override async Task<bool> ProcessAsync(string message)
{
Console.WriteLine($"received: {message}");
}
}
Start listening:
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
await _myQueueListener.StartListening(stoppingToken);
}
You will need to pass an IConfiguration and ILogger instances as well.
Configuration
The listener relies on the following app settings (adjust to your RabbitMQ instance):
"HostName": "localhost",
"Username": "guest",
"Password": "guest",
"VirtualHost": "/"
}
Versions
8.0.0 Version for .net Core 8
6.0.4 Minor fix in configuration parsing of enableSSL setting
6.0.3 Added new optional enable SSL setting in configuration. False if omitted. Usage: EnableSsl: true;
6.0.2 Added new optional Port setting in configuration to support using a specific rabbit mq port. If not provided, default port is used.
6.0.1 using net core 6.0
2.0.1 Added configurable settings for consumer prefetch count and consumer prefetch shared based on the RabbitMQ Consumer Prefetch Specifications two new settings are added to the RabbitMQ configuration section:
ConsumerPrefetchCount: an integer value representing the maximum number of unacknowledged messages at once. Default value (if not specified) is 0, which sets no limit on the number of unacknowledged messages.
ConsumerPrefetchShared: a boolean value representing whether the consumer prefetch count is applied applied separately to each new consumer on the channel or shared across all consumers on the channel. Default value (if not specified) is false.
Also check this post for more details.
2.0.0
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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 was computed. 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 was computed. 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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Microsoft.Extensions.Configuration.Abstractions (>= 8.0.0)
- RabbitMQ.Client (>= 6.8.1)
- SwitchSoftware.Messaging.Queues (>= 7.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.