LiteBus.Commands
2.2.3
See the version list below for details.
dotnet add package LiteBus.Commands --version 2.2.3
NuGet\Install-Package LiteBus.Commands -Version 2.2.3
<PackageReference Include="LiteBus.Commands" Version="2.2.3" />
<PackageVersion Include="LiteBus.Commands" Version="2.2.3" />
<PackageReference Include="LiteBus.Commands" />
paket add LiteBus.Commands --version 2.2.3
#r "nuget: LiteBus.Commands, 2.2.3"
#:package LiteBus.Commands@2.2.3
#addin nuget:?package=LiteBus.Commands&version=2.2.3
#tool nuget:?package=LiteBus.Commands&version=2.2.3
<h1 align="center"><br> <a href="https://github.com/litenova/LiteBus"> <img src="assets/logo/icon.png"> </a> <br> LiteBus <br> </h1> <h4 align="center">A lightweight, flexible in-process mediator for implementing Command Query Separation (CQS)</h4> <p align="center"> <a href="https://github.com/litenova/LiteBus/actions/workflows/release.yml"> <img src="https://github.com/litenova/LiteBus/actions/workflows/release.yml/badge.svg" alt="CI/CD Badge" /> </a> <a href="https://codecov.io/gh/litenova/LiteBus" > <img src="https://codecov.io/gh/litenova/LiteBus/graph/badge.svg?token=XBNYITSV5A" alt="Code Coverage Badge" /> </a> <a href="https://www.nuget.org/packages/LiteBus"> <img src="https://img.shields.io/nuget/vpre/LiteBus.svg" alt="LiteBus Nuget Version" /> </a> </p> <p align="center"> For detailed documentation and examples, please visit the <a href="https://github.com/litenova/LiteBus/wiki"><b>Wiki</b></a>. </p>
Key Features
Built for .NET 8 and .NET 9 - Multi-targeting support for maximum compatibility
Zero external dependencies - Completely standalone with no third-party dependencies
Reduced reflection usage - Optimized for performance with minimal reflection
DDD-friendly design - Support for plain domain events without library dependencies, keeping your domain model clean
Comprehensive messaging types:
ICommand/ICommand<TResult>- For state-changing operationsIQuery<TResult>- For data retrieval operationsIStreamQuery<TResult>- For streaming large datasets viaIAsyncEnumerable<T>IEvent- For notifications and event-driven architecture- Support for POCO objects as messages without library interfaces
Rich handler ecosystem:
- Pre-handlers for validation and pre-processing
- Post-handlers for notifications and side effects
- Error handlers for centralized exception management
- Support for generic handlers and messages
- Handler ordering control
- Contextual handler selection via tags and filters
Advanced features:
- Covariant type handling for polymorphic dispatch
- Execution context for cross-cutting concerns
- Aborting execution flow when needed
- Microsoft Dependency Injection integration
Quick Example
// Define the command result
public record CreateProductCommandResult(Guid Id);
// Define a command with a result
public record CreateProductCommand(string Title) : ICommand<CreateProductCommandResult>;
// Implement a command validator
public class CreateProductCommandValidator : ICommandValidator<CreateProductCommand>
{
public Task ValidateAsync(CreateProductCommand command, CancellationToken cancellationToken = default)
{
if (string.IsNullOrWhiteSpace(command.Title))
throw new ValidationException("Product title cannot be empty");
return Task.CompletedTask;
}
}
// Implement a command handler
public class CreateProductCommandHandler : ICommandHandler<CreateProductCommand, CreateProductCommandResult>
{
private readonly IProductRepository _repository;
public CreateProductCommandHandler(IProductRepository repository)
{
_repository = repository;
}
public async Task<CreateProductCommandResult> HandleAsync(CreateProductCommand command, CancellationToken cancellationToken = default)
{
var product = new Product(Guid.NewGuid(), command.Title);
await _repository.SaveAsync(product, cancellationToken);
return new CreateProductCommandResult(product.Id);
}
}
// Configure in ASP.NET Core
services.AddLiteBus(liteBus =>
{
liteBus.AddCommandModule(module =>
{
module.RegisterFromAssembly(typeof(CreateProductCommand).Assembly);
});
});
// Use in a controller or service
public class ProductsController : ControllerBase
{
private readonly ICommandMediator _commandMediator;
public ProductsController(ICommandMediator commandMediator)
{
_commandMediator = commandMediator;
}
[HttpPost]
public async Task<ActionResult<CreateProductCommandResult>> CreateProduct(CreateProductCommand command)
{
var result = await _commandMediator.SendAsync(command);
return Ok(result);
}
}
Documentation
For comprehensive documentation, including detailed explanations, advanced features, and best practices, please visit the Wiki.
Installation
LiteBus is available as NuGet packages:
dotnet add package LiteBus
dotnet add package LiteBus.Extensions.MicrosoftDependencyInjection
Or specific modules:
dotnet add package LiteBus.Commands
dotnet add package LiteBus.Queries
dotnet add package LiteBus.Events
License
LiteBus is licensed under the MIT License. See the LICENSE file for details.
| 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 is compatible. 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
- LiteBus.Commands.Abstractions (>= 2.2.3)
-
net9.0
- LiteBus.Commands.Abstractions (>= 2.2.3)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on LiteBus.Commands:
| Package | Downloads |
|---|---|
|
LiteBus.Commands.Extensions.MicrosoftDependencyInjection
LiteBus is a lightweight, flexible in-process mediator for implementing Command Query Separation (CQS) patterns in .NET applications. |
|
|
LiteBus
LiteBus is a lightweight, flexible in-process mediator for implementing Command Query Separation (CQS) patterns in .NET applications. |
|
|
LiteBus.Commands.Extensions.Microsoft.DependencyInjection
LiteBus is a lightweight, flexible in-process mediator for implementing Command Query Separation (CQS) patterns in .NET applications. |
|
|
LiteBus.Commands.Extensions.Autofac
LiteBus is a lightweight, flexible in-process mediator for implementing Command Query Separation (CQS) patterns in .NET applications. |
|
|
Ramsha.LocalMessaging
Modular extensible framework built on top of ASP.NET Core. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.2.0 | 4,375 | 11/11/2025 |
| 4.1.0 | 961 | 10/30/2025 |
| 4.0.0 | 4,202 | 9/18/2025 |
| 3.1.0 | 11,829 | 8/5/2025 |
| 3.0.0 | 6,334 | 7/21/2025 |
| 2.2.3 | 1,761 | 7/18/2025 |
| 2.2.2 | 196 | 7/18/2025 |
| 2.2.1 | 1,329 | 7/8/2025 |
| 2.2.0 | 253 | 7/8/2025 |
| 2.1.0 | 313 | 7/1/2025 |
| 2.0.0 | 3,252 | 4/29/2025 |
| 1.1.0 | 268 | 4/24/2025 |
| 1.0.0 | 186 | 4/19/2025 |
| 0.25.1 | 270 | 4/17/2025 |
| 0.25.0 | 260 | 4/13/2025 |
| 0.24.4 | 241 | 4/10/2025 |
| 0.24.3 | 2,672 | 5/2/2024 |
| 0.24.2 | 282 | 4/16/2024 |
| 0.24.1 | 232 | 1/30/2024 |
| 0.23.1 | 1,715 | 1/11/2024 |
| 0.23.0 | 301 | 12/23/2023 |
| 0.22.0 | 231 | 12/23/2023 |
| 0.21.0 | 238 | 12/18/2023 |
| 0.20.2 | 277 | 12/8/2023 |
| 0.20.1 | 265 | 12/5/2023 |
| 0.20.0 | 969 | 12/5/2023 |
| 0.19.1 | 252 | 11/25/2023 |
| 0.19.0 | 227 | 11/23/2023 |
| 0.18.4 | 261 | 11/23/2023 |
| 0.18.3 | 242 | 11/23/2023 |
| 0.18.2 | 245 | 11/22/2023 |
| 0.18.1 | 683 | 11/6/2023 |
| 0.18.0 | 292 | 11/1/2023 |
| 0.17.1 | 255 | 10/20/2023 |
| 0.16.0 | 280 | 9/26/2023 |
| 0.15.1 | 2,381 | 6/23/2023 |
| 0.15.0 | 309 | 6/23/2023 |
| 0.14.1 | 316 | 6/22/2023 |
| 0.14.0 | 651 | 11/30/2022 |
| 0.13.0 | 904 | 10/7/2022 |
| 0.12.0 | 4,870 | 1/6/2022 |
| 0.11.3 | 4,205 | 12/27/2021 |
| 0.11.2 | 641 | 12/27/2021 |
| 0.11.1 | 613 | 12/26/2021 |
| 0.11.0 | 672 | 12/23/2021 |
| 0.10.2 | 639 | 12/22/2021 |
| 0.10.1 | 622 | 12/20/2021 |
| 0.10.0 | 752 | 12/15/2021 |
| 0.9.1 | 1,143 | 10/25/2021 |
| 0.9.0 | 813 | 10/25/2021 |
| 0.8.1 | 3,249 | 10/9/2021 |
| 0.8.0 | 1,909 | 9/7/2021 |
| 0.7.0 | 1,014 | 8/19/2021 |
| 0.6.3 | 1,194 | 8/9/2021 |
| 0.6.2 | 828 | 8/9/2021 |
| 0.6.1 | 794 | 8/9/2021 |
| 0.6.0 | 840 | 8/9/2021 |
| 0.5.0 | 1,519 | 7/8/2021 |
| 0.4.0 | 1,142 | 4/13/2021 |
| 0.3.1 | 782 | 4/13/2021 |
| 0.2.1 | 795 | 4/9/2021 |
| 0.2.0 | 783 | 4/6/2021 |
| 0.1.0 | 1,077 | 3/17/2021 |