Reo.Core.Application.Abstractions.MediatR
8.0.565
dotnet add package Reo.Core.Application.Abstractions.MediatR --version 8.0.565
NuGet\Install-Package Reo.Core.Application.Abstractions.MediatR -Version 8.0.565
<PackageReference Include="Reo.Core.Application.Abstractions.MediatR" Version="8.0.565" />
<PackageVersion Include="Reo.Core.Application.Abstractions.MediatR" Version="8.0.565" />
<PackageReference Include="Reo.Core.Application.Abstractions.MediatR" />
paket add Reo.Core.Application.Abstractions.MediatR --version 8.0.565
#r "nuget: Reo.Core.Application.Abstractions.MediatR, 8.0.565"
#:package Reo.Core.Application.Abstractions.MediatR@8.0.565
#addin nuget:?package=Reo.Core.Application.Abstractions.MediatR&version=8.0.565
#tool nuget:?package=Reo.Core.Application.Abstractions.MediatR&version=8.0.565
Reo.Core.Application.Abstractions.MediatR
Описание пакета
Пакет Reo.Core.Application.Abstractions.MediatR предоставляет абстракции для интеграции с библиотекой MediatR в приложениях на C#. Он упрощает обработку доменных команд, событий и команд с результатами, добавляя логирование, обработку ошибок и стандартные шаблоны для работы с архитектурой CQRS. Пакет решает проблему стандартизации обработки операций в приложениях, где требуется разделение команд (commands), событий (events) и операций с возвращаемым результатом (commands with results).
Основные компоненты
IReoApplicationService<TDomainCommandsExecutor, TQuery>
Интерфейс для сервисов приложения, которые выполняют операции с использованием доменных команд. Предоставляет методExecuteAsync
для асинхронного выполнения запросов.ReoDomainCommandHandler<TDomainCommand>
Абстрактный класс для обработки доменных команд. РеализуетIRequestHandler<TDomainCommand>
и добавляет логирование и обработку ошибок.ReoDomainCommandWithResultHandler<TDomainCommand>
Абстрактный класс для обработки команд с возвращаемым результатом. РеализуетIRequestHandler<TDomainCommand, bool>
и добавляет логирование результата выполнения.ReoDomainEventHandler<TDomainEvent>
Абстрактный класс для обработки доменных событий. РеализуетINotificationHandler<TDomainEvent>
и добавляет логирование и обработку ошибок.ServiceCollectionExtensions
Методы расширения для регистрации сервисов приложения в контейнере зависимостей (DI) в ASP.NET Core.
Требования
- .NET версии: .NET 8 и выше.
- Зависимости:
Установка
Используйте следующие команды для установки пакета:
Install-Package Reo.Core.Application.Abstractions.MediatR
dotnet add package Reo.Core.Application.Abstractions.MediatR
Настройка
Регистрация в DI (ASP.NET Core)
Добавьте сервисы в контейнер зависимостей с помощью метода расширения:
services.AddReoApplicationServices<YourAssembly>();
Замените Reo.Core.Application.Abstractions.MediatR
на сборку вашего проекта.
Конфигурационные параметры
N/A. Пакет не требует дополнительной конфигурации.
Использование
Пример 1: Обработка команды
public class CreateUserCommand : IRequest
{
public string Username { get; set; }
}
public class CreateUserCommandHandler : ReoDomainCommandHandler<CreateUserCommand>
{
protected override Task InnerHandleAsync(CreateUserCommand command, CancellationToken cancellationToken)
{
// Логика создания пользователя
return Task.CompletedTask;
}
}
Пример 2: Обработка команды с результатом
public class ValidateUserCommand : IRequest<bool>
{
public string Username { get; set; }
}
public class ValidateUserCommandHandler : ReoDomainCommandWithResultHandler<ValidateUserCommand>
{
protected override Task<bool> InnerHandleAsync(ValidateUserCommand command, CancellationToken cancellationToken)
{
// Проверка пользователя
return Task.FromResult(true);
}
}
Пример 3: Использование сервиса в контроллере
[ApiController]
[Route("api/[controller]")]
public class UserController : ControllerBase
{
private readonly IReoApplicationService<..., CreateUserCommand> _service;
public UserController(IReoApplicationService<..., CreateUserCommand> service)
{
_service = service;
}
[HttpPost]
public async Task<IActionResult> CreateUser([FromBody] CreateUserCommand command)
{
await _service.ExecuteAsync(command, CancellationToken.None);
return Ok();
}
}
Лицензия
Этот пакет распространяется под лицензией MIT License.
Product | Versions 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. |
-
net8.0
- AutoMapper (>= 11.0.1 && < 15.0.0)
- FluentValidation (>= 11.11.0)
- FluentValidation.AspNetCore (>= 11.3.1)
- Flurl (>= 4.0.0)
- Flurl.Http (>= 4.0.2)
- JetBrains.Annotations (>= 2025.2.2)
- MediatR (>= 12.5.0 && < 13.0.0)
- Microsoft.AspNetCore.Mvc.NewtonsoftJson (>= 8.0.20)
- Microsoft.Bcl.AsyncInterfaces (>= 9.0.9)
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.Extensions.Configuration (>= 9.0.9)
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.9)
- Microsoft.Extensions.Configuration.Binder (>= 9.0.9)
- Microsoft.Extensions.DependencyInjection (>= 9.0.9)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.9)
- Microsoft.Extensions.Http.Polly (>= 9.0.9)
- Microsoft.Extensions.Logging (>= 9.0.9)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.9)
- Microsoft.Extensions.Options (>= 9.0.9)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.9)
- NEST (>= 7.17.5)
- Newtonsoft.Json (>= 13.0.4)
- Polly (>= 8.5.0)
- RedLock.net (>= 2.3.2)
- Reo.Core.Application.Abstractions (>= 8.0.565)
- Reo.Core.BaseDomainModels.MediatR (>= 8.0.565)
- stbychkov.AutoLoggerMessage (>= 1.0.14)
- System.Collections.Immutable (>= 9.0.9)
- System.ComponentModel.Annotations (>= 5.0.0)
- System.Configuration.ConfigurationManager (>= 9.0.9)
- System.IO.Abstractions (>= 22.0.16)
- System.IO.Pipelines (>= 9.0.9)
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.565 | 60 | 9/19/2025 |
8.0.564 | 63 | 9/19/2025 |
8.0.563 | 66 | 9/19/2025 |
8.0.562 | 75 | 9/19/2025 |
8.0.561 | 144 | 9/16/2025 |
8.0.560 | 149 | 9/16/2025 |
8.0.559 | 144 | 9/16/2025 |
8.0.558 | 151 | 9/16/2025 |
8.0.557 | 165 | 9/15/2025 |
8.0.556 | 156 | 9/15/2025 |
8.0.555 | 82 | 9/12/2025 |
8.0.554 | 126 | 9/11/2025 |
8.0.553 | 126 | 9/11/2025 |
8.0.552 | 125 | 9/11/2025 |
8.0.551 | 128 | 9/11/2025 |
8.0.550 | 124 | 9/11/2025 |
8.0.548 | 125 | 9/11/2025 |
8.0.547 | 127 | 9/11/2025 |
8.0.546 | 126 | 9/11/2025 |
8.0.545 | 124 | 9/11/2025 |
8.0.544 | 128 | 9/10/2025 |
8.0.543 | 128 | 9/10/2025 |
8.0.542 | 130 | 9/10/2025 |
8.0.541 | 128 | 9/10/2025 |
8.0.540 | 125 | 9/9/2025 |
8.0.539 | 127 | 9/9/2025 |
8.0.538 | 128 | 9/9/2025 |
8.0.537 | 127 | 9/9/2025 |
8.0.536 | 124 | 9/9/2025 |
8.0.535 | 128 | 9/9/2025 |
8.0.534 | 126 | 9/9/2025 |
8.0.533 | 128 | 9/9/2025 |
8.0.532 | 123 | 9/8/2025 |
8.0.531 | 108 | 9/5/2025 |
8.0.530 | 138 | 9/4/2025 |
8.0.529 | 130 | 9/4/2025 |
8.0.528 | 141 | 9/4/2025 |
8.0.527 | 137 | 9/4/2025 |
8.0.526 | 141 | 9/3/2025 |
8.0.525 | 122 | 9/2/2025 |
8.0.524 | 124 | 9/2/2025 |
8.0.523 | 128 | 9/2/2025 |
8.0.522 | 182 | 8/28/2025 |
8.0.521 | 174 | 8/27/2025 |
8.0.520 | 173 | 8/27/2025 |
8.0.519 | 176 | 8/27/2025 |
8.0.518 | 181 | 8/27/2025 |
8.0.517 | 148 | 8/25/2025 |
8.0.516 | 267 | 8/25/2025 |
8.0.515 | 196 | 8/24/2025 |
8.0.514 | 134 | 8/21/2025 |
8.0.513 | 126 | 8/20/2025 |
8.0.512 | 123 | 8/20/2025 |
8.0.511 | 130 | 8/20/2025 |
8.0.510 | 125 | 8/18/2025 |
8.0.509 | 131 | 8/18/2025 |
8.0.508 | 133 | 8/13/2025 |
8.0.506 | 135 | 8/13/2025 |
8.0.505 | 132 | 8/13/2025 |
8.0.504 | 132 | 8/13/2025 |
8.0.503 | 133 | 8/13/2025 |
8.0.502 | 131 | 8/12/2025 |
8.0.501 | 135 | 8/12/2025 |
8.0.500 | 129 | 8/12/2025 |
8.0.499 | 129 | 8/12/2025 |
8.0.498 | 128 | 8/11/2025 |
8.0.497 | 168 | 8/8/2025 |
8.0.496 | 175 | 8/8/2025 |
8.0.495 | 174 | 8/8/2025 |
8.0.494 | 196 | 8/8/2025 |
8.0.493 | 212 | 8/7/2025 |
8.0.492 | 214 | 8/7/2025 |
8.0.491 | 206 | 8/7/2025 |
8.0.490 | 212 | 8/7/2025 |
8.0.489 | 221 | 8/5/2025 |
8.0.488 | 221 | 8/5/2025 |
8.0.487 | 84 | 8/1/2025 |
8.0.486 | 104 | 7/30/2025 |
8.0.485 | 102 | 7/28/2025 |
8.0.484 | 93 | 7/28/2025 |
8.0.483 | 95 | 7/28/2025 |
8.0.482 | 94 | 7/28/2025 |
8.0.481 | 93 | 7/28/2025 |
8.0.480 | 352 | 7/25/2025 |
8.0.479 | 378 | 7/25/2025 |
8.0.478 | 380 | 7/25/2025 |
8.0.477 | 387 | 7/25/2025 |
8.0.476 | 390 | 7/25/2025 |
8.0.475 | 441 | 7/24/2025 |
8.0.474 | 442 | 7/24/2025 |
8.0.473 | 514 | 7/23/2025 |
8.0.472 | 513 | 7/23/2025 |
8.0.470 | 512 | 7/23/2025 |
8.0.469 | 513 | 7/23/2025 |
8.0.468 | 514 | 7/23/2025 |
8.0.467 | 521 | 7/23/2025 |
8.0.466 | 528 | 7/23/2025 |
8.0.465 | 529 | 7/23/2025 |
8.0.464 | 529 | 7/23/2025 |
8.0.463 | 524 | 7/23/2025 |
8.0.462 | 527 | 7/22/2025 |
8.0.461 | 527 | 7/22/2025 |
8.0.460 | 411 | 7/21/2025 |
8.0.459 | 89 | 7/18/2025 |
8.0.458 | 106 | 7/18/2025 |
8.0.457 | 135 | 7/17/2025 |
8.0.456 | 132 | 7/17/2025 |
8.0.455 | 132 | 7/17/2025 |
8.0.454 | 137 | 7/17/2025 |
8.0.453 | 135 | 7/17/2025 |
8.0.452 | 131 | 7/17/2025 |
8.0.451 | 133 | 7/17/2025 |
8.0.450 | 133 | 7/17/2025 |
8.0.449 | 135 | 7/17/2025 |
8.0.448 | 134 | 7/17/2025 |
8.0.447 | 134 | 7/16/2025 |
8.0.446 | 133 | 7/16/2025 |
8.0.445 | 136 | 7/16/2025 |
8.0.444 | 139 | 7/16/2025 |
8.0.443 | 134 | 7/16/2025 |
8.0.442 | 136 | 7/16/2025 |
8.0.439 | 138 | 7/15/2025 |
8.0.438 | 133 | 7/15/2025 |
8.0.437 | 138 | 7/15/2025 |
8.0.436 | 132 | 7/15/2025 |
8.0.435 | 133 | 7/15/2025 |
8.0.433 | 140 | 7/14/2025 |
8.0.432 | 139 | 7/14/2025 |
8.0.431 | 121 | 7/11/2025 |
8.0.430 | 123 | 7/11/2025 |
8.0.429 | 145 | 7/10/2025 |
8.0.428 | 138 | 7/10/2025 |
8.0.427 | 140 | 7/9/2025 |
8.0.426 | 138 | 7/8/2025 |
8.0.425 | 140 | 7/8/2025 |
8.0.424 | 138 | 7/8/2025 |
8.0.423 | 137 | 7/8/2025 |
8.0.422 | 136 | 7/8/2025 |
8.0.421 | 143 | 7/8/2025 |
8.0.420 | 135 | 7/7/2025 |
8.0.419 | 133 | 7/7/2025 |
8.0.418 | 133 | 7/7/2025 |
8.0.417 | 138 | 7/7/2025 |
8.0.416 | 137 | 7/6/2025 |
8.0.415 | 101 | 7/4/2025 |
8.0.414 | 113 | 7/4/2025 |
8.0.411 | 145 | 7/3/2025 |
8.0.410 | 141 | 7/3/2025 |
8.0.409 | 146 | 7/3/2025 |
8.0.408 | 133 | 7/1/2025 |
8.0.407 | 131 | 7/1/2025 |
8.0.406 | 129 | 7/1/2025 |
8.0.405 | 141 | 7/1/2025 |
8.0.404 | 158 | 6/26/2025 |
8.0.403 | 127 | 6/26/2025 |
8.0.401 | 180 | 6/24/2025 |
8.0.400 | 140 | 6/24/2025 |
8.0.399 | 138 | 6/23/2025 |
8.0.398 | 141 | 6/23/2025 |
8.0.397 | 100 | 6/20/2025 |
8.0.396 | 154 | 6/19/2025 |
8.0.395 | 142 | 6/18/2025 |
8.0.394 | 145 | 6/18/2025 |
8.0.392 | 143 | 6/18/2025 |
8.0.390 | 147 | 6/18/2025 |
6.0.565 | 56 | 9/19/2025 |
6.0.564 | 62 | 9/19/2025 |
6.0.563 | 62 | 9/19/2025 |
6.0.562 | 73 | 9/19/2025 |
6.0.561 | 142 | 9/16/2025 |
6.0.560 | 145 | 9/16/2025 |
6.0.559 | 142 | 9/16/2025 |
6.0.558 | 147 | 9/16/2025 |
6.0.557 | 148 | 9/15/2025 |
6.0.556 | 153 | 9/15/2025 |
6.0.555 | 77 | 9/12/2025 |
6.0.554 | 123 | 9/11/2025 |
6.0.553 | 127 | 9/11/2025 |
6.0.552 | 123 | 9/11/2025 |
6.0.551 | 122 | 9/11/2025 |
6.0.550 | 124 | 9/11/2025 |
6.0.548 | 122 | 9/11/2025 |
6.0.547 | 123 | 9/11/2025 |
6.0.546 | 123 | 9/11/2025 |
6.0.545 | 123 | 9/11/2025 |
6.0.544 | 126 | 9/10/2025 |
6.0.543 | 129 | 9/10/2025 |
6.0.542 | 124 | 9/10/2025 |
6.0.541 | 129 | 9/10/2025 |
6.0.540 | 125 | 9/9/2025 |
6.0.539 | 130 | 9/9/2025 |
6.0.538 | 122 | 9/9/2025 |
6.0.537 | 125 | 9/9/2025 |
6.0.536 | 125 | 9/9/2025 |
6.0.535 | 121 | 9/9/2025 |
6.0.534 | 123 | 9/9/2025 |
6.0.533 | 126 | 9/9/2025 |
6.0.532 | 126 | 9/8/2025 |
6.0.531 | 100 | 9/5/2025 |
6.0.530 | 135 | 9/4/2025 |
6.0.529 | 130 | 9/4/2025 |
6.0.528 | 134 | 9/4/2025 |
6.0.527 | 138 | 9/4/2025 |
6.0.526 | 136 | 9/3/2025 |
6.0.525 | 121 | 9/2/2025 |
6.0.524 | 118 | 9/2/2025 |
6.0.523 | 126 | 9/2/2025 |
6.0.522 | 176 | 8/28/2025 |
6.0.521 | 173 | 8/27/2025 |
6.0.520 | 172 | 8/27/2025 |
6.0.519 | 175 | 8/27/2025 |
6.0.518 | 170 | 8/27/2025 |
6.0.517 | 147 | 8/25/2025 |
6.0.516 | 266 | 8/25/2025 |
6.0.515 | 194 | 8/24/2025 |
6.0.514 | 122 | 8/21/2025 |
6.0.513 | 125 | 8/20/2025 |
6.0.512 | 120 | 8/20/2025 |
6.0.511 | 126 | 8/20/2025 |
6.0.510 | 121 | 8/18/2025 |
6.0.509 | 126 | 8/18/2025 |
6.0.508 | 129 | 8/13/2025 |
6.0.506 | 129 | 8/13/2025 |
6.0.505 | 126 | 8/13/2025 |
6.0.504 | 136 | 8/13/2025 |
6.0.503 | 128 | 8/13/2025 |
6.0.502 | 129 | 8/12/2025 |
6.0.501 | 126 | 8/12/2025 |
6.0.500 | 132 | 8/12/2025 |
6.0.499 | 130 | 8/12/2025 |
6.0.498 | 127 | 8/11/2025 |
6.0.497 | 163 | 8/8/2025 |
6.0.496 | 169 | 8/8/2025 |
6.0.495 | 169 | 8/8/2025 |
6.0.494 | 197 | 8/8/2025 |
6.0.493 | 206 | 8/7/2025 |
6.0.492 | 204 | 8/7/2025 |
6.0.491 | 201 | 8/7/2025 |
6.0.490 | 206 | 8/7/2025 |
6.0.489 | 223 | 8/5/2025 |
6.0.488 | 218 | 8/5/2025 |
6.0.487 | 85 | 8/1/2025 |
6.0.486 | 103 | 7/30/2025 |
6.0.485 | 92 | 7/28/2025 |
6.0.484 | 89 | 7/28/2025 |
6.0.483 | 94 | 7/28/2025 |
6.0.482 | 96 | 7/28/2025 |
6.0.481 | 94 | 7/28/2025 |
6.0.480 | 355 | 7/25/2025 |
6.0.479 | 380 | 7/25/2025 |
6.0.478 | 375 | 7/25/2025 |
6.0.477 | 389 | 7/25/2025 |
6.0.476 | 391 | 7/25/2025 |
6.0.475 | 439 | 7/24/2025 |
6.0.474 | 438 | 7/24/2025 |
6.0.473 | 512 | 7/23/2025 |
6.0.472 | 512 | 7/23/2025 |
6.0.470 | 508 | 7/23/2025 |
6.0.469 | 513 | 7/23/2025 |
6.0.468 | 509 | 7/23/2025 |
6.0.467 | 522 | 7/23/2025 |
6.0.466 | 528 | 7/23/2025 |
6.0.465 | 529 | 7/23/2025 |
6.0.464 | 528 | 7/23/2025 |
6.0.463 | 526 | 7/23/2025 |
6.0.462 | 524 | 7/22/2025 |
6.0.461 | 525 | 7/22/2025 |
6.0.460 | 410 | 7/21/2025 |
6.0.459 | 88 | 7/18/2025 |
6.0.458 | 99 | 7/18/2025 |
6.0.457 | 132 | 7/17/2025 |
6.0.456 | 139 | 7/17/2025 |
6.0.455 | 135 | 7/17/2025 |