ASystems.Tools.RabbitMQ 1.2.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package ASystems.Tools.RabbitMQ --version 1.2.1
                    
NuGet\Install-Package ASystems.Tools.RabbitMQ -Version 1.2.1
                    
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="ASystems.Tools.RabbitMQ" Version="1.2.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ASystems.Tools.RabbitMQ" Version="1.2.1" />
                    
Directory.Packages.props
<PackageReference Include="ASystems.Tools.RabbitMQ" />
                    
Project file
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 ASystems.Tools.RabbitMQ --version 1.2.1
                    
#r "nuget: ASystems.Tools.RabbitMQ, 1.2.1"
                    
#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 ASystems.Tools.RabbitMQ@1.2.1
                    
#: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=ASystems.Tools.RabbitMQ&version=1.2.1
                    
Install as a Cake Addin
#tool nuget:?package=ASystems.Tools.RabbitMQ&version=1.2.1
                    
Install as a Cake Tool

ASystems.Tools.RabbitMQ

An unnambitious RabbitMQ implementation.

Usage

1. appsettings.json
  "RabbitMQConnectionFactory": {
		"Hostname": "<rabbitmqUrl>",
		"Username": "<rabbitmq user>",
		Password": "<rabbitmq password>",
		"SubscribeTo": [ "<queue1>", "<queue2>" ],
		"ExchangeName": "<exchange name>"
  }
2. DI
//only add this if you need to add a consumer to your API 
builder.Services.AddScoped<IServiceBusConsumer, ServiceBusConsumer>();
//configures and wires up rabbitMQ configuration of the IServiceBus interface needed to send messages to the exchange
builder.Services.ConfigureRabbitMQServices(builder.Configuration);

Where ServiceBusConsumer is your implementation of IServiceBusConsumer

3. Send message
public class SendMessageController : ControllerBase
    {
        private readonly IServiceBus _bus;

        public SendMessageController(IServiceBus bus)
        {
            _bus = bus;
            _logger = logger;
        }
        [HttpGet]
        public async Task Get()
        {
            await _bus.SendAsync(DateTime.Now, "general.message");
        }
    }
4. Consumer setup
    public class ServiceBusConsumer : IServiceBusConsumer
    {
        public async Task ConsumeAsync(string topic, object model)
        {
		    //your handling depending on the topic
            if (topic == "general.message")
            {
                Console.WriteLine(model);
                await Task.CompletedTask;
            }
        }
    }
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
2.2.0 532 11/1/2022
2.1.1 419 10/28/2022
2.1.0 439 10/28/2022
2.0.1 603 10/26/2022
2.0.0 569 10/11/2022
1.3.0 495 10/10/2022
1.2.1 476 10/2/2022
1.2.0 490 10/1/2022
1.0.0 469 10/1/2022