PowerLinesMessaging 1.0.3

There is a newer version of this package available.
See the version list below for details.
dotnet add package PowerLinesMessaging --version 1.0.3
NuGet\Install-Package PowerLinesMessaging -Version 1.0.3
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="PowerLinesMessaging" Version="1.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PowerLinesMessaging --version 1.0.3
#r "nuget: PowerLinesMessaging, 1.0.3"
#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.
// Install PowerLinesMessaging as a Cake Addin
#addin nuget:?package=PowerLinesMessaging&version=1.0.3

// Install PowerLinesMessaging as a Cake Tool
#tool nuget:?package=PowerLinesMessaging&version=1.0.3

Build Status

Power Lines Messaging

NuGet package to abstract RabbitMQ messaging capability.

PreRequisites

  • .NET Core 3.1

Usage

Create an instance of a BrokerUrl class

string host = "localhost";
int port = 5672;
string username = "username";
string password = "password";
BrokerUrl brokerUrl = new BrokerUrl(host, port, username, password);

Set the type of queue to connect to.

QueueType queueType = QueueType.Worker;
// or
QueueType queueType = QueueType.ExchangeDirect;
// or
QueueType queueType = QueueType.ExchangeFanout;

Sending a message

Create an instance of a Sender class and connect to queue.

Sender sender = new Sender();
await sender.CreateConnectionToQueue(queueType, brokerUrl.ToString(), "queue");

Send a message passing the message body as an instance of an object and optionally the name of the sender.

object obj = new object();
string senderName = "my-service";
sender.SendMessage(obj, senderName);

Receiving a message

Create an instance of a Consumer class and connect to queue.

Consumer consumer = new Consumer();
await consumer.CreateConnectionToQueue(queueType, brokerUrl.ToString(), "queue");
// or if direct queue specify routing key
await consumer.CreateConnectionToQueue(queueType, brokerUrl.ToString(), "queue", "routingKey");

Start listening for new messages passing a method to run on receipt of a message.

public void ReceiveMessage(string message)
{
    Console.WriteLine(message);
}

...
consumer.Listen(new Action<string>(ReceiveMessage));
Product 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.1 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

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
3.0.2 479 8/20/2021
3.0.1 325 2/1/2021
3.0.0 372 1/31/2021
2.0.0 326 1/30/2021
1.0.3 354 12/24/2020
1.0.2 364 12/23/2020
1.0.1 324 12/23/2020
1.0.0 370 12/23/2020