LiteBus.Messaging 4.2.0

dotnet add package LiteBus.Messaging --version 4.2.0
                    
NuGet\Install-Package LiteBus.Messaging -Version 4.2.0
                    
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="LiteBus.Messaging" Version="4.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="LiteBus.Messaging" Version="4.2.0" />
                    
Directory.Packages.props
<PackageReference Include="LiteBus.Messaging" />
                    
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 LiteBus.Messaging --version 4.2.0
                    
#r "nuget: LiteBus.Messaging, 4.2.0"
                    
#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 LiteBus.Messaging@4.2.0
                    
#: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=LiteBus.Messaging&version=4.2.0
                    
Install as a Cake Addin
#tool nuget:?package=LiteBus.Messaging&version=4.2.0
                    
Install as a Cake Tool

<h1 align="center"> <a href="https://github.com/litenova/LiteBus"> <img src="assets/logo/icon.png" alt="LiteBus Logo" width="128"> </a> <br> LiteBus </h1>

<h4 align="center">A lightweight, high-performance mediator for building clean, scalable, and testable .NET applications with CQS and DDD.</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="Build Status" /> </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" /> </a> <a href="https://www.nuget.org/packages/LiteBus.Commands.Extensions.Microsoft.DependencyInjection"> <img src="https://img.shields.io/nuget/vpre/LiteBus.Commands.Extensions.Microsoft.DependencyInjection.svg" alt="NuGet Version" /> </a> </p>

<p align="center"> For detailed documentation and examples, please visit the <strong><a href="https://github.com/litenova/LiteBus/wiki">Wiki</a></strong>. </p>

LiteBus is an in-process mediator designed from the ground up for modern .NET. It helps you implement Command Query Separation (CQS) and Domain-Driven Design (DDD) patterns by providing a clean, decoupled architecture for your application's business logic.

Why Choose LiteBus?

  • CQS & DDD First-Class Citizens: Enforces clean architecture with distinct, semantic contracts like ICommand<TResult>, IQuery<TResult>, and IEvent. You can even publish pure POCO domain events without coupling your model to the framework.

  • Optimized for High Performance: Minimizes runtime overhead by discovering and caching handler metadata at startup. Handlers are resolved lazily from your DI container, and large datasets are handled efficiently with IAsyncEnumerable<T> streaming via IStreamQuery<T>.

  • Granular Pipeline Customization: Go beyond simple behaviors with a full pipeline of pre-handlers, post-handlers, and error handlers. Filter handlers by context using [HandlerTag] attributes and dynamic predicates.

  • Advanced Event Concurrency: Take full control over your event processing. Configure Sequential or Parallel execution for both priority groups and for handlers within the same group, allowing you to fine-tune your application's throughput and determinism.

  • DI-Agnostic & Resilient: Decoupled from any specific DI container, with first-class support for Microsoft DI and Autofac. It also includes a built-in Durable Command Inbox for guaranteed, at-least-once execution of critical commands.

Quick Example

Here’s how to define and handle a command to create a new product.

1. Define the Command

A command is a simple object representing a request. This one returns the Guid of the new product.

public sealed record CreateProductCommand(string Name, decimal Price) : ICommand<Guid>;
2. Implement the Handler

The handler contains the business logic to process the command.

public sealed class CreateProductCommandHandler : ICommandHandler<CreateProductCommand, Guid>
{
    private readonly IProductRepository _repository;

    public CreateProductCommandHandler(IProductRepository repository) => _repository = repository;

    public async Task<Guid> HandleAsync(CreateProductCommand command, CancellationToken cancellationToken)
    {
        var product = new Product(command.Name, command.Price);
        await _repository.AddAsync(product, cancellationToken);
        return product.Id;
    }
}
3. Configure and Use

Register LiteBus in Program.cs and inject ICommandMediator to send your command.

// In Program.cs
builder.Services.AddLiteBus(liteBus =>
{
    // This registers the Command Module and scans the assembly for handlers.
    // The core MessageModule is included automatically.
    liteBus.AddCommandModule(module =>
    {
        module.RegisterFromAssembly(typeof(Program).Assembly);
    });
});

// In your API Controller
[ApiController]
public class ProductsController : ControllerBase
{
    private readonly ICommandMediator _commandMediator;

    public ProductsController(ICommandMediator commandMediator) => _commandMediator = commandMediator;

    [HttpPost]
    public async Task<IActionResult> Create(CreateProductCommand command)
    {
        var productId = await _commandMediator.SendAsync(command);
        return CreatedAtAction(nameof(GetById), new { id = productId }, productId);
    }
}

Installation

The recommended way to get started is by installing the extension package for your DI container and the modules you need.

For Microsoft Dependency Injection
dotnet add package LiteBus.Commands.Extensions.Microsoft.DependencyInjection
dotnet add package LiteBus.Queries.Extensions.Microsoft.DependencyInjection
dotnet add package LiteBus.Events.Extensions.Microsoft.DependencyInjection

Documentation

For comprehensive guides, advanced features, and best practices, please visit the * *LiteBus Wiki**.

Key pages include:

Available Packages

The LiteBus ecosystem is split into several packages so you can install only what you need.

Core Modules & Abstractions
Package Version
LiteBus.Commands NuGet version
LiteBus.Commands.Abstractions NuGet version
LiteBus.Queries NuGet version
LiteBus.Queries.Abstractions NuGet version
LiteBus.Events NuGet version
LiteBus.Events.Abstractions NuGet version
LiteBus.Messaging NuGet version
LiteBus.Messaging.Abstractions NuGet version
Runtime & DI Extensions
Package Version
LiteBus.Runtime NuGet version
LiteBus.Runtime.Abstractions NuGet version
LiteBus.Commands.Extensions.Microsoft.DependencyInjection NuGet version
LiteBus.Commands.Extensions.Autofac NuGet version
LiteBus.Commands.Extensions.Microsoft.Hosting NuGet version
(Query and Event extensions follow the same pattern)

Contributing

Contributions are welcome! Please feel free to open an issue or submit a pull request.

License

LiteBus is licensed under the MIT License. See the LICENSE file for details.

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 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (7)

Showing the top 5 NuGet packages that depend on LiteBus.Messaging:

Package Downloads
LiteBus.Commands

LiteBus is a lightweight, flexible in-process mediator for implementing Command Query Separation (CQS) patterns in .NET applications.

LiteBus.Events

LiteBus is a lightweight, flexible in-process mediator for implementing Command Query Separation (CQS) patterns in .NET applications.

LiteBus.Queries

LiteBus is a lightweight, flexible in-process mediator for implementing Command Query Separation (CQS) patterns in .NET applications.

LiteBus.Messaging.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.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.2.0 0 11/11/2025
4.1.0 678 10/30/2025
4.0.0 2,589 9/18/2025
3.1.0 7,845 8/5/2025
3.0.0 4,463 7/21/2025
2.2.3 928 7/18/2025
2.2.2 221 7/18/2025
2.2.1 1,101 7/8/2025
2.2.0 284 7/8/2025
2.1.0 337 7/1/2025
2.0.0 3,271 4/29/2025
1.1.0 305 4/24/2025
1.0.0 210 4/19/2025
0.25.1 300 4/17/2025
0.25.0 288 4/13/2025
0.24.4 282 4/10/2025
0.24.3 2,723 5/2/2024
0.24.2 295 4/16/2024
0.24.1 255 1/30/2024
0.23.1 1,802 1/11/2024
0.23.0 357 12/23/2023
0.22.0 327 12/23/2023
0.21.0 319 12/18/2023
0.20.2 296 12/8/2023
0.20.1 291 12/5/2023
0.20.0 1,040 12/5/2023
0.19.1 264 11/25/2023
0.19.0 252 11/23/2023
0.18.4 337 11/23/2023
0.18.3 321 11/23/2023
0.18.2 340 11/22/2023
0.18.1 765 11/6/2023
0.18.0 346 11/1/2023
0.17.1 277 10/20/2023
0.16.0 346 9/26/2023
0.15.1 2,409 6/23/2023
0.15.0 400 6/23/2023
0.14.1 378 6/22/2023
0.14.0 697 11/30/2022
0.13.0 1,240 10/7/2022
0.12.0 4,947 1/6/2022
0.11.3 4,319 12/27/2021
0.11.2 870 12/27/2021
0.11.1 824 12/26/2021
0.11.0 846 12/23/2021
0.10.2 781 12/22/2021
0.10.1 811 12/20/2021
0.10.0 912 12/15/2021
0.9.1 1,407 10/25/2021
0.9.0 1,100 10/25/2021
0.8.1 3,503 10/9/2021
0.8.0 2,184 9/7/2021
0.7.0 1,291 8/19/2021
0.6.3 1,458 8/9/2021
0.6.2 1,078 8/9/2021
0.6.1 1,070 8/9/2021
0.6.0 1,114 8/9/2021
0.5.0 1,304 7/8/2021
0.4.0 1,065 4/13/2021
0.3.1 754 4/13/2021
0.2.1 767 4/9/2021
0.2.0 730 4/6/2021
0.1.0 963 3/17/2021