Basic mediator implementation in .NET using RabbitMQ as a transport
Implements asynchronous messaging and request/response between different hosts and processes.
via terminal:
dotnet add package Weltmeyer.RabbitMediator
or use your IDE, search for Weltmeyer.RabbitMediator and press install
With DI Container:
builder.Services.AddRabbitMediator(typeof(MyConsumer).Assembly, RabbitMQConnectionString);
Without DI Container(Not working yet, as we need a logger, todo):
var mediator = new RabbitMediator(
host.Services.GetRequiredService<ILogger<RabbitMediator>>(),
[typeof(TestTargetedRequestConsumer)],
_aspireHostFixture.RabbitMQConnectionString!, null, 10);
mediator.DefaultConfirmTimeOut = TimeSpan.FromSeconds(1);
mediator.DefaultResponseTimeOut = TimeSpan.FromSeconds(1);
await mediator.ConfigureBus(host.Services);