Reo.Core.Queue 8.0.777

dotnet add package Reo.Core.Queue --version 8.0.777
                    
NuGet\Install-Package Reo.Core.Queue -Version 8.0.777
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Reo.Core.Queue" Version="8.0.777" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Reo.Core.Queue" Version="8.0.777" />
                    
Directory.Packages.props
<PackageReference Include="Reo.Core.Queue" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Reo.Core.Queue --version 8.0.777
                    
#r "nuget: Reo.Core.Queue, 8.0.777"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Reo.Core.Queue@8.0.777
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Reo.Core.Queue&version=8.0.777
                    
Install as a Cake Addin
#tool nuget:?package=Reo.Core.Queue&version=8.0.777
                    
Install as a Cake Tool

Reo.Core.Queue

Описание пакета

Reo.Core.Queue — это библиотека для обработки интеграционных событий и сообщений в распределенных системах. Пакет предоставляет абстракции для работы с событиями, таких как IntegrationEvent<T>, и инструменты для их сериализации, маршрутизации и обработки. Он решает задачи, связанные с асинхронной передачей данных между микросервисами, обработкой ошибок и логированием.

Основные функции:

  • Поддержка интеграционных событий (например, DmRequestEvent, RouteRequestEvent).
  • Работа с типами событий, такими как RoutesCalculationChangedIntegrationEvent.
  • Обработка ошибок и отслеживание состояния обработки через события DmResponseEvent и RouteResponseEvent.
  • Поддержка сериализации и десериализации событий.

Основные компоненты

1. IntegrationEvent<T>

Базовый класс для всех интеграционных событий. Содержит идентификатор события и дополнительные данные.

2. DmRequestEvent, RouteRequestEvent

Конкретные типы событий, используемые для инициирования обработки запросов в системе. Содержат пути к файлам или данным для обработки.

3. RoutesCalculationChangedIntegrationEvent

Запись (record), представляющая событие изменения расчета маршрута. Содержит данные о типе изменения (публикация, архивирование, удаление), идентификатор расчета и пользователе.

4. RefbookType

Перечисление, определяющее типы ссылок, используемых в событиях (например, категория отходов, регион).

5. DmResponseEvent, RouteResponseEvent

События, возвращающие результаты обработки запросов, включая успешные и неудачные операции.


Требования

  • .NET версии: .NET 8.0, .NET 9.0
  • Зависимости: Нет внешних зависимостей (использует только стандартные библиотеки .NET).

Установка

NuGet Package Manager

Install-Package Reo.Core.Queue

.NET CLI

dotnet add package Reo.Core.Queue

Настройка

Регистрация в DI-контейнере (ASP.NET Core)

services.AddSingleton<IServiceProvider, ServiceProvider>();
services.AddSingleton<IMessageBus, MessageBus>();

Примечание: Если используется конкретная реализация сообщений (например, RabbitMQ, Azure Service Bus), необходимо добавить соответствующие зависимости и настроить конфигурацию в appsettings.json.

Конфигурационные параметры

  • Нет обязательных параметров в данном пакете. Настройки сообщений зависят от используемого брокера.

Использование

Пример 1: Создание и отправка события

var event = new DmRequestEvent(new[] { "/path/to/file1", "/path/to/file2" });
await messageBus.PublishAsync(event);

Пример 2: Обработка события

public class DmEventHandler : IEventHandler<DmRequestEvent>
{
    public async Task Handle(DmRequestEvent @event)
    {
        // Обработка запросов
        var result = await ProcessFiles(@event.Paths);
        await messageBus.PublishAsync(new DmResponseEvent { Succeeded = result });
    }
}

Пример 3: Обработка изменения расчета маршрута

var changeEvent = new RoutesCalculationChangedIntegrationEvent(
    calculationId: Guid.NewGuid(),
    data: new[] { new RoutesCalculationChangedData { ... } },
    type: RoutesCalculationChangedType.ToPublish,
    userId: Guid.NewGuid()
);

await messageBus.PublishAsync(changeEvent);

Лицензия

Данный пакет распространяется под лицензией MIT.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
8.0.777 275 12/23/2025
8.0.776 229 12/23/2025
8.0.775 224 12/23/2025
8.0.771 227 12/23/2025
8.0.770 228 12/23/2025
8.0.769 214 12/22/2025
8.0.768 212 12/22/2025
8.0.766 280 12/19/2025
8.0.765 266 12/19/2025
8.0.764 268 12/19/2025
8.0.763 267 12/19/2025
8.0.762 271 12/19/2025
8.0.761 277 12/19/2025
8.0.760 312 12/17/2025
8.0.759 311 12/16/2025
8.0.758 312 12/16/2025
8.0.757 294 12/15/2025
8.0.755 295 12/15/2025
8.0.749 290 12/15/2025
8.0.748 284 12/15/2025
Loading failed