Package Description
$ dotnet add package Reo.Core.Queue.MassTransit.AbstractionsReo.Core.Queue.MassTransit.Abstractions — это библиотека для работы с сообщениями и очередями через MassTransit и * RabbitMQ*. Пакет предоставляет абстракции для создания и настройки конечных точек, отправки сообщений, а также интеграции с системами мониторинга через проверки здоровья (health checks).
ISendEndpointProvider для отправки сообщений в конкретные очереди.ISendEndpoint по имени очереди, упрощающие работу с отправкой
сообщений.RabbitMqClusterOptions.Install-Package Reo.Core.Queue.MassTransit.Abstractionsdotnet add package Reo.Core.Queue.MassTransit.Abstractionsservices.AddReoIntegrationServices<YourAssembly>();appsettings.json{
"RabbitMqClusterOptions": {
"Hosts": ["rabbitmq-host:5672"],
"Username": "guest",
"Password": "guest"
}
}services.TryAddRabbitMqCluster(new RabbitMqClusterOptions
{
Hosts = new[] { "rabbitmq-host:5672" },
Username = "guest",
Password = "guest"
});public class MyService
{
private readonly ISendEndpointProvider _sendEndpointProvider;
public MyService(ISendEndpointProvider sendEndpointProvider)
{
_sendEndpointProvider = sendEndpointProvider;
}
public async Task SendToQueueAsync(string message)
{
var endpoint = await _sendEndpointProvider.GetQueueSendEndpointAsync("my-queue", CancellationToken.None);
await endpoint.Send(new MyMessage { Content = message });
}
}// В Startup.cs или Program.cs (ASP.NET Core)
services.AddHealthChecks()
.TryAddRabbitMqCluster(new RabbitMqClusterOptions
{
Hosts = new[] { "rabbitmq-host:5672" },
Username = "guest",
Password = "guest"
});Данный пакет распространяется под лицензией MIT.