Reo.Core.Queue.MassTransit.Models
10.0.103
dotnet add package Reo.Core.Queue.MassTransit.Models --version 10.0.103
NuGet\Install-Package Reo.Core.Queue.MassTransit.Models -Version 10.0.103
<PackageReference Include="Reo.Core.Queue.MassTransit.Models" Version="10.0.103" />
<PackageVersion Include="Reo.Core.Queue.MassTransit.Models" Version="10.0.103" />
<PackageReference Include="Reo.Core.Queue.MassTransit.Models" />
paket add Reo.Core.Queue.MassTransit.Models --version 10.0.103
#r "nuget: Reo.Core.Queue.MassTransit.Models, 10.0.103"
#:package Reo.Core.Queue.MassTransit.Models@10.0.103
#addin nuget:?package=Reo.Core.Queue.MassTransit.Models&version=10.0.103
#tool nuget:?package=Reo.Core.Queue.MassTransit.Models&version=10.0.103
Reo.Core.Queue.MassTransit.Models
Описание пакета
Reo.Core.Queue.MassTransit.Models — это библиотека, предназначенная для интеграции с системами сообщений на основе MassTransit, используемой в распределённых системах и микросервисах. Пакет предоставляет модели, события и инфраструктурные классы для обработки асинхронных операций, управления связями объектов инфраструктуры и взаимодействия с внешними сервисами. Он решает задачи, связанные с обработкой событий, координацией между компонентами и обеспечением надёжной передачи данных между сервисами.
Основные компоненты
1. InfrastructureObjectReferenceBase
Абстрактный базовый класс для событий, связанных с объектами инфраструктуры. Определяет тип ссылки (
ExternalReferenceType) и базовую логику обработки событий.
2. AsyncInfrastructureObjectReferenceEvent
Модель для асинхронных событий, связанных с объектами инфраструктуры. Используется для передачи данных между сервисами.
3. VehicleAllTrackComparisonCompleted
Событие, сигнализирующее о завершении сравнения траекторий транспортных средств. Пример использования: обработка завершения операции в системе мониторинга транспорта.
4. InfrastructureObjectReference
Модель для хранения ссылок на объекты инфраструктуры, например, на внешние сервисы или ресурсы.
5. QueueConstants
Классы с константами для имен очередей и сообщений (например, VehicleTrackComparisonCompletedQueue), используемые для
настройки интеграции с MassTransit.
Требования
- .NET версии: .NET 8.0, .NET 9.0.
- Зависимости:
Установка
NuGet Package Manager
Install-Package Reo.Core.Queue.MassTransit.Models
.NET CLI
dotnet add package Reo.Core.Queue.MassTransit.Models
Настройка
Регистрация в ASP.NET Core
Добавьте сервисы в DI-контейнер в Program.cs или Startup.cs:
var builder = WebApplication.CreateBuilder(args);
// Регистрация MassTransit и связанных моделей
builder.Services.AddMassTransit(x =>
{
x.AddConsumersFromNamespaceContaining<InfrastructureObjectReferenceBase>();
x.UsingRabbitMq((context, cfg) =>
{
cfg.Host("localhost", h => h.UseDefaultHost());
cfg.ConfigureEndpoints(context);
});
});
var app = builder.Build();
app.Run();
Конфигурационные параметры
Настройка MassTransit осуществляется через стандартные параметры, например, в appsettings.json:
{
"MassTransit": {
"Host": "rabbitmq://localhost"
}
}
Использование
Пример 1: Обработка события VehicleAllTrackComparisonCompleted
public class VehicleTrackComparisonConsumer : IConsumer<VehicleAllTrackComparisonCompleted>
{
public Task Consume(ConsumeContext<VehicleAllTrackComparisonCompleted> context)
{
var eventPayload = context.Message;
Console.WriteLine($"Сравнение траекторий завершено для события: {eventPayload.EventId}");
return Task.CompletedTask;
}
}
Пример 2: Создание события для связи объектов инфраструктуры
var referenceEvent = new AsyncInfrastructureObjectReferenceEvent
{
Type = ExternalReferenceType.Vehicle,
ObjectId = "vehicle-123",
ExternalId = "external-vehicle-456"
};
// Отправка события через MassTransit
await _bus.Publish(referenceEvent);
Лицензия
Данный пакет распространяется под лицензией MIT.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- FluentValidation (>= 12.1.1)
- JetBrains.Annotations (>= 2025.2.4)
- MassTransit (>= 8.5.9 && < 9.0.0)
- MassTransit.RabbitMQ (>= 8.5.9 && < 9.0.0)
- Microsoft.Extensions.Configuration (>= 10.0.5)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.5)
- Microsoft.Extensions.DependencyInjection (>= 10.0.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Http.Polly (>= 10.0.5)
- Microsoft.Extensions.Logging (>= 10.0.5)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Options (>= 10.0.5)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.5)
- Polly (>= 8.5.0)
- RabbitMQ.Client (>= 7.2.1)
- Reo.Core.BaseDomainModels (>= 10.0.103)
- stbychkov.AutoLoggerMessage (>= 1.0.15)
- System.Linq.Async (>= 7.0.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Reo.Core.Queue.MassTransit.Models:
| Package | Downloads |
|---|---|
|
Reo.Core.AsyncOperations
Package Description |
|
|
Reo.MnoApi.Sensors
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.103 | 0 | 4/14/2026 |
| 10.0.101 | 0 | 4/14/2026 |
| 10.0.100 | 40 | 4/13/2026 |
| 10.0.99 | 32 | 4/13/2026 |
| 10.0.98 | 43 | 4/13/2026 |
| 10.0.97 | 35 | 4/13/2026 |
| 10.0.96 | 47 | 4/13/2026 |
| 10.0.95 | 60 | 4/10/2026 |
| 10.0.94 | 54 | 4/10/2026 |
| 10.0.93 | 73 | 4/10/2026 |
| 10.0.92 | 85 | 4/9/2026 |
| 10.0.91 | 95 | 4/8/2026 |
| 10.0.90 | 106 | 4/7/2026 |
| 10.0.89 | 105 | 4/7/2026 |
| 10.0.88 | 103 | 4/7/2026 |
| 10.0.87 | 111 | 4/6/2026 |
| 10.0.86 | 143 | 4/3/2026 |
| 10.0.85 | 146 | 3/31/2026 |
| 10.0.84 | 140 | 3/31/2026 |
| 10.0.83 | 134 | 3/30/2026 |