KN.RabbitMQ.Queue
1.0.2
dotnet add package KN.RabbitMQ.Queue --version 1.0.2
NuGet\Install-Package KN.RabbitMQ.Queue -Version 1.0.2
<PackageReference Include="KN.RabbitMQ.Queue" Version="1.0.2" />
paket add KN.RabbitMQ.Queue --version 1.0.2
#r "nuget: KN.RabbitMQ.Queue, 1.0.2"
// Install KN.RabbitMQ.Queue as a Cake Addin
#addin nuget:?package=KN.RabbitMQ.Queue&version=1.0.2
// Install KN.RabbitMQ.Queue as a Cake Tool
#tool nuget:?package=KN.RabbitMQ.Queue&version=1.0.2
About
Easy-to-use RabbitMQ Queue library for .NET products. This is project is derived from RabbitMQ.Cliente library.
Source Code
Installation
Get KN.RabbitMQ.Queue from NuGet. The purpose of this fork is to add support to easiest .NET Standard development.
PM> Install-Package KN.RabbitMQ.Queue
Usage
Init in Startup
Write in appsettings file your RabbitMQ Broker credentials, ID is the name for the QUEUE.
{
"KNQueueConfigurations": {
"HostName": "example.cloudamqp.com",
"Port": 80,
"UserName": "example",
"Password": "example",
"Uri": "amqp://example:example@example.cloudamqp.com/example",
"Id": "TestApi"
}
}
Startup.cs See in examples files for other project files
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
MessageBroker.Init(services);
}
Publish message
Publish your message with the "Type" you need in message.
[HttpPost]
public object Post(
[FromBody]Message message)
{
var queue = new MessageQueue("TestClient");
MessageBroker.Publish(queue, message);
return new
{
Result = "Message sent",
Message = message
};
}
Consume a message
Implement the interface IMessagingService, with the QueueConsumer attribute is the same name of the Type in message.
[QueueConsumer("TestMessageApi")]
public class QueueReturnConsumerService : IMessagingService
{
public MessageResult Run(Message message, IServiceScopeFactory _scopeFactory)
{
Console.WriteLine(JsonConvert.SerializeObject(message));
return new MessageResult() { Sucess = true };
}
public bool UnavailableService()
{
return false;
}
}
Credits
- RabbitMQ for the original work.
License
This project is licensed under MIT License.
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 | 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.FileExtensions (>= 3.1.1)
- Microsoft.Extensions.Configuration.Json (>= 3.1.1)
- Microsoft.Extensions.Hosting.Abstractions (>= 3.1.1)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 3.1.1)
- Newtonsoft.Json (>= 12.0.3)
- RabbitMQ.Client (>= 5.1.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.