Infrastructure.RabbitMQ
1.0.0
dotnet add package Infrastructure.RabbitMQ --version 1.0.0
NuGet\Install-Package Infrastructure.RabbitMQ -Version 1.0.0
<PackageReference Include="Infrastructure.RabbitMQ" Version="1.0.0" />
paket add Infrastructure.RabbitMQ --version 1.0.0
#r "nuget: Infrastructure.RabbitMQ, 1.0.0"
// Install Infrastructure.RabbitMQ as a Cake Addin
#addin nuget:?package=Infrastructure.RabbitMQ&version=1.0.0
// Install Infrastructure.RabbitMQ as a Cake Tool
#tool nuget:?package=Infrastructure.RabbitMQ&version=1.0.0
A Production-Ready RabbitMQ Configuration Built For .Net Core Application
Description
This package provide utility classes that can be used if you want your API or Services to publish / listen to message in a RabbitMQ queue.
Basic Usage
Publish to a Channel / Queue
1.Setup Dependency Injection
services.AddTransient<IMessagePublisher>((svc) =>
{
string rabbitMQHost = "your rabbit host";
string rabbitMQUserName = "rabbit username";
string rabbitMQPassword = "";
return new RabbitMQChannelPublisher(rabbitMQHost, rabbitMQUserName, rabbitMQPassword, "channel name");
});
- Publish a message
_messagePublisher.PublishMessageAsync("", object message, "channel name");
For pub / sub pattern, simple replace RabbitMQChannelPublisher with RabbitMQMessagePublisher(rabbitMQHost, rabbitMQUserName, rabbitMQPassword, "queue name")
Listen for message from a Channel / Queue
1.Setup Dependency Injection
services.AddTransient<IChannelHandler>((svc) =>
{
string rabbitMQHost = "your rabbit host";
string rabbitMQUserName = "rabbit username";
string rabbitMQPassword = "";
return new RabbitMQChannelHandler(rabbitMQHost, rabbitMQUserName, rabbitMQPassword, "channel name");
});
- Implement IChannelHandlerCallBack interface
public class ReceiverManager : IChannelHandlerCallback
{
IChannelHandler _messageHandler;
public ReceiverManager(IChannelHandler messageHandler)
{
_messageHandler = messageHandler;
}
}
- Handling Message
public async Task<bool> HandleChannelAsync(string message)
{
// Do something with the message
return true;
}
For pub / sub pattern, simple replace RabbitMQChannelHandler with RabbitMQMessageHandler(rabbitMQHost, rabbitMQUserName, rabbitMQPassword, "queue name"), and IChannelHandlerCallback with IMessageHandlerCallback
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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. 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.0
- Newtonsoft.Json (>= 12.0.2)
- Polly (>= 7.1.0)
- RabbitMQ.Client (>= 5.1.0)
- Serilog (>= 2.8.0)
- System.ValueTuple (>= 4.5.0)
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.0.0 | 535 | 5/12/2019 |