Reo.Core.Queue 8.0.356

There is a newer version of this package available.
See the version list below for details.
dotnet add package Reo.Core.Queue --version 8.0.356
                    
NuGet\Install-Package Reo.Core.Queue -Version 8.0.356
                    
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.356" />
                    
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.356" />
                    
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.356
                    
#r "nuget: Reo.Core.Queue, 8.0.356"
                    
#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.356
                    
#: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.356
                    
Install as a Cake Addin
#tool nuget:?package=Reo.Core.Queue&version=8.0.356
                    
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);

Лицензия

Reo.Core.Queue использует лицензию MIT. Полную информацию см. в файле LICENSE.

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 297 12/23/2025
8.0.776 246 12/23/2025
8.0.775 241 12/23/2025
8.0.771 243 12/23/2025
8.0.770 242 12/23/2025
8.0.769 230 12/22/2025
8.0.768 228 12/22/2025
8.0.766 295 12/19/2025
8.0.765 282 12/19/2025
8.0.764 283 12/19/2025
8.0.763 282 12/19/2025
8.0.762 284 12/19/2025
8.0.761 291 12/19/2025
8.0.760 325 12/17/2025
8.0.759 325 12/16/2025
8.0.758 329 12/16/2025
8.0.757 307 12/15/2025
8.0.755 307 12/15/2025
8.0.749 306 12/15/2025
8.0.356 283 6/3/2025
Loading failed