Escendit.Extensions.Hosting.RabbitMQ.AmqpProtocol is a NuGet package that provides the ability to register
IConnectionFactory
or IConnection
. Utilize Host-based applications with this package.
To install Escendit.Extensions.Hosting.RabbitMQ.AmqpProtocol, run the following command in the Package Manager Console:
Install-Package Escendit.Extensions.Hosting.RabbitMQ.AmqpProtocol
There are several ways to register contracts that can be used in an application:
Host
.CreateDefaultBuilder()
.AddRabbitMqConnectionFactory("name", ...)
var connectionFactory = serviceProvider.GetRequiredKeyedService<IConnectionFactory>("name");
var connectionFactory = serviceProvider.GetRequiredServiceByKey<object?, IConnectionFactory>("name");
Host
.CreateDefaultBuilder()
.AddRabbitMqConnectionFactoryFromOption("name", "existing_name")
var connectionFactory = serviceProvider.GetRequiredKeyedService<IConnectionFactory>("name");
var connectionFactory = serviceProvider.GetRequiredServiceByKey<object?, IConnectionFactory>("name");
Register and use IConnection
with the newly named ConnectionOptions
and IConnectionFactory
registration.
Host
.CreateDefaultBuilder()
.AddRabbitMqConnection("name", ...)
var connection = serviceProvider.GetRequiredKeyedService<IConnection>("name");
var connection = serviceProvider.GetRequiredServiceByName<object?, IConnection>("name");
Host
.CreateDefaultBuilder()
.AddRabbitMqConnectionFromFactory("name", "existing_name")
var connection = serviceProvider.GetRequiredKeyedService<IConnection>("name");
var connection = serviceProvider.GetRequiredServiceByName<object?, IConnection>("name");
If you'd like to contribute to rabbitmq-dotnet-extensions, please fork the repository and make changes as you'd like. Pull requests are warmly welcome.