Excalibur.Outbox.SqlServer
3.0.0-alpha.177
dotnet add package Excalibur.Outbox.SqlServer --version 3.0.0-alpha.177
NuGet\Install-Package Excalibur.Outbox.SqlServer -Version 3.0.0-alpha.177
<PackageReference Include="Excalibur.Outbox.SqlServer" Version="3.0.0-alpha.177" />
<PackageVersion Include="Excalibur.Outbox.SqlServer" Version="3.0.0-alpha.177" />
<PackageReference Include="Excalibur.Outbox.SqlServer" />
paket add Excalibur.Outbox.SqlServer --version 3.0.0-alpha.177
#r "nuget: Excalibur.Outbox.SqlServer, 3.0.0-alpha.177"
#:package Excalibur.Outbox.SqlServer@3.0.0-alpha.177
#addin nuget:?package=Excalibur.Outbox.SqlServer&version=3.0.0-alpha.177&prerelease
#tool nuget:?package=Excalibur.Outbox.SqlServer&version=3.0.0-alpha.177&prerelease
Excalibur.Outbox.SqlServer
SQL Server implementation of the transactional outbox pattern for the Excalibur framework.
Part Of
This package is included in the following metapackages:
| Metapackage | Tier | What It Adds |
|---|---|---|
Excalibur.Dispatch.SqlServer |
Starter | + Dispatch core + Outbox + Hosting |
Excalibur.SqlServer |
Complete | + Inbox + Saga + Leader Election + Audit + Compliance + Data |
Tip: Install
Excalibur.SqlServerfor a production-ready SQL Server stack with a single package reference.
Installation
dotnet add package Excalibur.Outbox.SqlServer
Features
SqlServerOutboxStore- High-performance Dapper-based outbox implementationSqlServerDeadLetterQueue- Dead letter handling for failed messages- Batch message retrieval with ordering guarantees
- Status transitions (Pending → Processing → Published → Failed)
- Connection factory pattern for multi-database scenarios
- AOT-compatible with full Native AOT support
- NO Entity Framework Core dependency
Usage
// Register via IOutboxBuilder (recommended)
services.AddExcalibur(x => x.AddOutbox(outbox =>
{
outbox.UseSqlServer(sql =>
{
sql.ConnectionString("Server=.;Database=MyDb;Trusted_Connection=True;")
.SchemaName("Messaging")
.TableName("OutboxMessages");
});
}));
// Or use with IDispatchBuilder
builder.UseSqlServerOutboxStore(options =>
{
options.ConnectionString = "Server=.;Database=MyDb;Trusted_Connection=True;";
});
Database Schema
Run the SQL scripts in /sql/ folder to create required tables:
dispatch.outbox- Message queue storagedispatch.deadletter- Failed message storage
Related Packages
Excalibur.Outbox- Core outbox abstractionsExcalibur.Data.Abstractions- Data access patterns
License
This project is multi-licensed under:
See LICENSE for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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
- AspNetCore.HealthChecks.SqlServer (>= 9.0.0)
- Ben.Demystifier (>= 0.4.1)
- BenchmarkDotNet (>= 0.15.8)
- CloudNative.CloudEvents (>= 2.8.0)
- CloudNative.CloudEvents.SystemTextJson (>= 2.8.0)
- Cronos (>= 0.12.0)
- Dapper (>= 2.1.72)
- Excalibur.Data (>= 3.0.0-alpha.177)
- Excalibur.Data.SqlServer (>= 3.0.0-alpha.177)
- Excalibur.Dispatch (>= 3.0.0-alpha.177)
- Excalibur.Inbox.SqlServer (>= 3.0.0-alpha.177)
- Excalibur.Outbox (>= 3.0.0-alpha.177)
- FluentValidation (>= 12.1.1)
- FluentValidation.DependencyInjectionExtensions (>= 12.1.1)
- IdentityModel (>= 7.0.0)
- JsonNet.ContractResolvers (>= 2.0.0)
- Medo.Uuid7 (>= 3.2.0)
- MemoryPack (>= 1.21.4)
- Microsoft.ApplicationInsights (>= 3.1.0)
- Microsoft.AspNetCore.Authorization (>= 10.0.7)
- Microsoft.CodeAnalysis.Analyzers (>= 3.11.0)
- Microsoft.CodeAnalysis.Common (>= 4.14.0)
- Microsoft.CodeAnalysis.CSharp (>= 4.14.0)
- Microsoft.Data.SqlClient (>= 7.0.0)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Caching.Memory (>= 10.0.7)
- Microsoft.Extensions.Configuration (>= 10.0.7)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.7)
- Microsoft.Extensions.Configuration.CommandLine (>= 10.0.7)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.7)
- Microsoft.Extensions.Configuration.Json (>= 10.0.7)
- Microsoft.Extensions.DependencyInjection (>= 10.0.7)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.7)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Hosting (>= 10.0.7)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Http (>= 10.0.7)
- Microsoft.Extensions.Logging (>= 10.0.7)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Logging.Console (>= 10.0.7)
- Microsoft.Extensions.ObjectPool (>= 10.0.7)
- Microsoft.Extensions.Options (>= 10.0.7)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.7)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.7)
- Microsoft.IdentityModel.Tokens (>= 8.17.0)
- OpenTelemetry (>= 1.15.3)
- OpenTelemetry.Api (>= 1.15.3)
- OpenTelemetry.Extensions.Hosting (>= 1.15.3)
- Polly (>= 8.6.6)
- System.IdentityModel.Tokens.Jwt (>= 8.17.0)
- System.IO.Hashing (>= 10.0.7)
- System.Threading.RateLimiting (>= 10.0.7)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Excalibur.Outbox.SqlServer:
| Package | Downloads |
|---|---|
|
Excalibur.Dispatch.SqlServer
Experience metapackage bundling Excalibur.Dispatch with SQL Server event sourcing, outbox, and web hosting. Provides a single AddDispatchWithSqlServer() call for the common SQL Server scenario. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0-alpha.177 | 0 | 4/25/2026 |
| 3.0.0-alpha.176 | 0 | 4/25/2026 |
| 3.0.0-alpha.175 | 16 | 4/24/2026 |
| 3.0.0-alpha.174 | 31 | 4/24/2026 |
| 3.0.0-alpha.173 | 21 | 4/24/2026 |
| 3.0.0-alpha.170 | 44 | 4/23/2026 |
| 3.0.0-alpha.168 | 55 | 4/23/2026 |
| 3.0.0-alpha.165 | 45 | 4/22/2026 |
| 3.0.0-alpha.164 | 31 | 4/22/2026 |
| 3.0.0-alpha.163 | 32 | 4/22/2026 |
| 3.0.0-alpha.162 | 35 | 4/22/2026 |
| 3.0.0-alpha.161 | 41 | 4/21/2026 |
| 3.0.0-alpha.160 | 42 | 4/21/2026 |
| 3.0.0-alpha.159 | 35 | 4/21/2026 |
| 3.0.0-alpha.158 | 38 | 4/21/2026 |
| 3.0.0-alpha.157 | 45 | 4/20/2026 |
| 3.0.0-alpha.156 | 48 | 4/17/2026 |
| 3.0.0-alpha.155 | 49 | 4/17/2026 |
| 3.0.0-alpha.143 | 51 | 4/14/2026 |
| 3.0.0-alpha.138 | 47 | 4/13/2026 |