Excalibur.Dispatch
3.0.0-alpha.19
dotnet add package Excalibur.Dispatch --version 3.0.0-alpha.19
NuGet\Install-Package Excalibur.Dispatch -Version 3.0.0-alpha.19
<PackageReference Include="Excalibur.Dispatch" Version="3.0.0-alpha.19" />
<PackageVersion Include="Excalibur.Dispatch" Version="3.0.0-alpha.19" />
<PackageReference Include="Excalibur.Dispatch" />
paket add Excalibur.Dispatch --version 3.0.0-alpha.19
#r "nuget: Excalibur.Dispatch, 3.0.0-alpha.19"
#:package Excalibur.Dispatch@3.0.0-alpha.19
#addin nuget:?package=Excalibur.Dispatch&version=3.0.0-alpha.19&prerelease
#tool nuget:?package=Excalibur.Dispatch&version=3.0.0-alpha.19&prerelease
Dispatch
Core messaging framework providing message dispatching, middleware pipeline, and DI integration for .NET applications.
Installation
dotnet add package Dispatch
Purpose
Dispatch is a lightweight, extensible messaging framework for building distributed systems. Use it as a MediatR alternative with built-in support for middleware pipelines, pluggable serialization, validation, and cloud-native messaging patterns.
Key Types
IDispatchBuilder- Fluent configuration builderDispatchBuilder- DI service registrationAddDispatch()- Service collection extensionIMessageMiddleware- Pipeline middleware baseMessageResult- Standard result type
Quick Start
// Register Dispatch services
services.AddDispatch(options =>
{
options.AddHandlersFromAssembly(typeof(Program).Assembly);
});
// Define a command
public record CreateOrder(string CustomerId, decimal Amount) : IDispatchAction;
// Create a handler
public class CreateOrderHandler : IDispatchHandler<CreateOrder>
{
public Task<IDispatchResult> HandleAsync(
CreateOrder command,
IMessageContext context,
CancellationToken cancellationToken)
{
// Implementation
return Task.FromResult<IDispatchResult>(MessageResult.Success());
}
}
// Dispatch a command
await dispatcher.DispatchAsync(new CreateOrder("cust-1", 99.99m), cancellationToken);
Features
- Message Handling: Strongly-typed action, document, and event handlers
- Middleware Pipeline: Extensible pipeline for cross-cutting concerns
- Pluggable Serialization: MemoryPack (default), System.Text.Json, MessagePack
- Validation: DataAnnotations (built-in) or FluentValidation (optional)
- Rate Limiting: Built-in rate limiting capabilities
- Health Checks: Health check endpoints for monitoring
Related Packages
Excalibur.Dispatch.Abstractions- Core interfaces and typesExcalibur.Dispatch.Validation.FluentValidation- FluentValidation integrationExcalibur.Dispatch.Transport.*- Message transport implementationsExcalibur.Dispatch.Hosting.*- Hosting integrations
Documentation
Full documentation: https://github.com/TrigintaFaces/Excalibur
License
This project is multi-licensed under:
See LICENSE 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 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. |
-
net10.0
- CloudNative.CloudEvents (>= 2.8.0)
- CloudNative.CloudEvents.SystemTextJson (>= 2.8.0)
- Cronos (>= 0.11.1)
- Excalibur.Dispatch.Abstractions (>= 3.0.0-alpha.19)
- Excalibur.Dispatch.Serialization.MemoryPack (>= 3.0.0-alpha.19)
- Medo.Uuid7 (>= 1.4.0)
- MemoryPack (>= 1.21.4)
- Microsoft.ApplicationInsights (>= 2.23.0)
- Microsoft.AspNetCore.Authorization (>= 9.0.9)
- Microsoft.Extensions.Configuration (>= 10.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Http (>= 10.0.0)
- Microsoft.Extensions.Logging (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Microsoft.Extensions.ObjectPool (>= 10.0.0)
- Microsoft.Extensions.Options (>= 10.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.0)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.0)
- System.Threading.RateLimiting (>= 10.0.0)
-
net8.0
- CloudNative.CloudEvents (>= 2.8.0)
- CloudNative.CloudEvents.SystemTextJson (>= 2.8.0)
- Cronos (>= 0.11.1)
- Excalibur.Dispatch.Abstractions (>= 3.0.0-alpha.19)
- Excalibur.Dispatch.Serialization.MemoryPack (>= 3.0.0-alpha.19)
- Medo.Uuid7 (>= 1.4.0)
- MemoryPack (>= 1.21.4)
- Microsoft.ApplicationInsights (>= 2.23.0)
- Microsoft.AspNetCore.Authorization (>= 9.0.9)
- Microsoft.Extensions.Configuration (>= 10.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Http (>= 10.0.0)
- Microsoft.Extensions.Logging (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Microsoft.Extensions.ObjectPool (>= 10.0.0)
- Microsoft.Extensions.Options (>= 10.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.0)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.0)
- System.Diagnostics.DiagnosticSource (>= 10.0.0)
- System.IO.Pipelines (>= 10.0.0)
- System.Threading.Channels (>= 10.0.0)
- System.Threading.RateLimiting (>= 10.0.0)
-
net9.0
- CloudNative.CloudEvents (>= 2.8.0)
- CloudNative.CloudEvents.SystemTextJson (>= 2.8.0)
- Cronos (>= 0.11.1)
- Excalibur.Dispatch.Abstractions (>= 3.0.0-alpha.19)
- Excalibur.Dispatch.Serialization.MemoryPack (>= 3.0.0-alpha.19)
- Medo.Uuid7 (>= 1.4.0)
- MemoryPack (>= 1.21.4)
- Microsoft.ApplicationInsights (>= 2.23.0)
- Microsoft.AspNetCore.Authorization (>= 9.0.9)
- Microsoft.Extensions.Configuration (>= 10.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Http (>= 10.0.0)
- Microsoft.Extensions.Logging (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Microsoft.Extensions.ObjectPool (>= 10.0.0)
- Microsoft.Extensions.Options (>= 10.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.0)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.0)
- System.Diagnostics.DiagnosticSource (>= 10.0.0)
- System.Threading.Channels (>= 10.0.0)
- System.Threading.RateLimiting (>= 10.0.0)
NuGet packages (41)
Showing the top 5 NuGet packages that depend on Excalibur.Dispatch:
| Package | Downloads |
|---|---|
|
Excalibur.Data
Data access layer implementation for Excalibur with repository patterns, unit of work, and data abstractions. Provides concrete implementations for data persistence. |
|
|
Excalibur.Application
Application-layer building blocks for Excalibur, including CQRS-oriented application services, handlers, and orchestration contracts. |
|
|
Excalibur.Jobs
Consolidated Excalibur job scheduling and orchestration framework. Includes abstractions, core implementations, coordination, workflows, and Quartz integration. |
|
|
Excalibur.A3
Authorization, Authentication, and Audit (A3) services for the Excalibur framework. |
|
|
Excalibur.Hosting.Jobs
Job hosting infrastructure for Excalibur applications with .NET Worker Service and Web hosting support. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0-alpha.19 | 98 | 2/26/2026 |