Escendit.Extensions.DependencyInjection.RabbitMQ.AmqpProtocol is a NuGet package that provides the ability
to register IConnectionFactory
or IConnection
. This package is integrated with service collection.
To install Escendit.Extensions.DependencyInjection.RabbitMQ.AmqpProtocol, run the following command in the Package Manager Console:
Install-Package Escendit.Extensions.DependencyInjection.RabbitMQ.AmqpProtocol
There are several ways to register contracts that can be used in an application:
services
.AddRabbitMqConnectionFactory("name", ...)
var connectionFactory = serviceProvider.GetRequiredKeyedService<IConnectionFactory>("name");
var connectionFactory = serviceProvider.GetRequiredServiceByKey<object?, IConnectionFactory>("name");
services
.AddRabbitMqConnectionFactoryFromOptions("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.
services
.AddRabbitMqConnection("name", ...)
var connectionFactory = serviceProvider.GetRequiredKeyedService<IConnection>("name");
var connectionFactory = serviceProvider.GetRequiredServiceByKey<object? ,IConnection>("name");
Host
.CreateDefaultBuilder()
.AddRabbitMqConnectionFromFactory("name", "existing_name")
var connectionFactory = serviceProvider.GetRequiredServiceByName<IConnection>("name");
var connectionFactory = serviceProvider.GetRequiredServiceByKey<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.