Emit 1.0.0-alpha.8
dotnet add package Emit --version 1.0.0-alpha.8
NuGet\Install-Package Emit -Version 1.0.0-alpha.8
<PackageReference Include="Emit" Version="1.0.0-alpha.8" />
<PackageVersion Include="Emit" Version="1.0.0-alpha.8" />
<PackageReference Include="Emit" />
paket add Emit --version 1.0.0-alpha.8
#r "nuget: Emit, 1.0.0-alpha.8"
#:package Emit@1.0.0-alpha.8
#addin nuget:?package=Emit&version=1.0.0-alpha.8&prerelease
#tool nuget:?package=Emit&version=1.0.0-alpha.8&prerelease
Emit
A transactional outbox library for .NET. Emit solves the classic dual-write problem: your business data and your outgoing messages commit together or not at all, so you never end up in the sad state where the database saved but the message didn't (or worse, the other way around).
How it works
Emit supports two operating modes. In outbox mode, messages are serialized and written to your database within your transaction. A background worker then picks them up, delivers them to the provider, and deletes them on success — retrying automatically on failure. In direct mode, messages go straight to the provider without persistence, which is useful when you care about resilience but not strict transactional guarantees.
Groups of messages are always delivered in order. Different groups are processed in parallel. The library is provider-agnostic: persistence backends and message providers are plugged in separately, and Emit orchestrates everything in between.
| 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
- Emit.Abstractions (>= 1.0.0-alpha.8)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Options (>= 10.0.0)
- System.Threading.RateLimiting (>= 10.0.0)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on Emit:
| Package | Downloads |
|---|---|
|
Emit.Kafka
Kafka outbox provider for Emit. Enables reliable Kafka message production through the transactional outbox pattern. |
|
|
Emit.MongoDB
MongoDB persistence provider for Emit. Stores outbox entries in MongoDB with support for sharding and atomic sequence generation. |
|
|
Emit.EntityFrameworkCore
Entity Framework Core persistence provider for Emit. Stores outbox entries using Entity Framework Core with support for PostgreSQL via Npgsql. |
|
|
Emit.OpenTelemetry
OpenTelemetry instrumentation for the Emit library. Provides AddEmitInstrumentation() for registering Emit meters with OpenTelemetry and configuring static tag enrichment. |
|
|
Emit.Mediator
In-process mediator pattern for the Emit library. Provides request-response dispatching through IRequestHandler with a unified middleware pipeline. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-alpha.8 | 55 | 3/31/2026 |
| 1.0.0-alpha.7 | 65 | 3/25/2026 |
| 1.0.0-alpha.6 | 67 | 3/13/2026 |
| 1.0.0-alpha.5 | 57 | 3/12/2026 |
| 1.0.0-alpha.4 | 73 | 3/12/2026 |
| 1.0.0-alpha.3 | 51 | 3/6/2026 |
| 1.0.0-alpha.2 | 46 | 3/6/2026 |
| 1.0.0-alpha.1 | 47 | 3/6/2026 |