HoneyDrunk.Data.Outbox.Abstractions
0.7.0
dotnet add package HoneyDrunk.Data.Outbox.Abstractions --version 0.7.0
NuGet\Install-Package HoneyDrunk.Data.Outbox.Abstractions -Version 0.7.0
<PackageReference Include="HoneyDrunk.Data.Outbox.Abstractions" Version="0.7.0" />
<PackageVersion Include="HoneyDrunk.Data.Outbox.Abstractions" Version="0.7.0" />
<PackageReference Include="HoneyDrunk.Data.Outbox.Abstractions" />
paket add HoneyDrunk.Data.Outbox.Abstractions --version 0.7.0
#r "nuget: HoneyDrunk.Data.Outbox.Abstractions, 0.7.0"
#:package HoneyDrunk.Data.Outbox.Abstractions@0.7.0
#addin nuget:?package=HoneyDrunk.Data.Outbox.Abstractions&version=0.7.0
#tool nuget:?package=HoneyDrunk.Data.Outbox.Abstractions&version=0.7.0
HoneyDrunk.Data.Outbox.Abstractions
Pure contracts for the HoneyDrunk.Data transactional outbox pattern.
What's Inside
| Type | Purpose |
|---|---|
IOutboxWriter |
Write outbox messages within a database transaction |
IOutboxReader |
Claim pending messages with lease-based concurrency and manage dispatch lifecycle |
IOutboxDispatcher |
Trigger a dispatch cycle |
OutboxMessage |
Message model with Id, Type, Payload, Headers, Status, LeasedUntil, LastError |
OutboxMessageStatus |
Lifecycle enum: Pending → Leased → Dispatched / DeadLetter |
OutboxOptions |
Schema, table name, lease duration, and enrichment configuration |
Dependency Graph
HoneyDrunk.Data.Outbox.Abstractions
└── (none — standalone contracts)
Usage
Application code writes messages through IOutboxWriter inside the same
SaveChangesAsync that persists domain state:
await outboxWriter.WriteAsync(new OutboxMessage
{
Id = Guid.NewGuid(),
Type = typeof(OrderPlaced).FullName!,
Payload = JsonSerializer.Serialize(orderPlaced),
OccurredAt = DateTimeOffset.UtcNow,
});
await unitOfWork.SaveChangesAsync();
| 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
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on HoneyDrunk.Data.Outbox.Abstractions:
| Package | Downloads |
|---|---|
|
HoneyDrunk.Data.Outbox
EF Core persistence implementation for HoneyDrunk.Data transactional outbox. Provides entity configuration, writer, reader with lease-based concurrency, and System.Text.Json serialization. Does not reference any specific message bus. |
|
|
HoneyDrunk.Data.Outbox.Dispatcher
Background dispatcher for the HoneyDrunk.Data transactional outbox. Polls pending messages and publishes them through HoneyDrunk.Transport abstractions with lease-based concurrency, configurable retry, and exponential backoff. Adapter-agnostic — references no specific message bus. |
GitHub repositories
This package is not used by any popular GitHub repositories.
v0.7.0: ADR-0011 D11 Sonar cleanup — IUnitOfWork<TContext> exposes ContextType DIM, CorrelationCommandInterceptor switches to a strict allow-list sanitizer, EF naming convention refactored under cognitive-complexity limit. Bumps Kernel 0.7.0→0.8.0, Vault* 0.5.0→0.7.0, Transport 0.6.0→0.7.1, Microsoft.EntityFrameworkCore* and Microsoft.Extensions.* 10.0.7→10.0.8.