DKNet.AspCore.Idempotency
13.3.1
dotnet add package DKNet.AspCore.Idempotency --version 13.3.1
NuGet\Install-Package DKNet.AspCore.Idempotency -Version 13.3.1
<PackageReference Include="DKNet.AspCore.Idempotency" Version="13.3.1" />
<PackageVersion Include="DKNet.AspCore.Idempotency" Version="13.3.1" />
<PackageReference Include="DKNet.AspCore.Idempotency" />
paket add DKNet.AspCore.Idempotency --version 13.3.1
#r "nuget: DKNet.AspCore.Idempotency, 13.3.1"
#:package DKNet.AspCore.Idempotency@13.3.1
#addin nuget:?package=DKNet.AspCore.Idempotency&version=13.3.1
#tool nuget:?package=DKNet.AspCore.Idempotency&version=13.3.1
DKNet.AspCore.Idempotency
Bounded idempotency reservations and optional response replay for .NET developers building minimal APIs.
✨ Why use it?
- Stop concurrent retries from reaching the same handler while a reservation is live.
- Scope client keys by caller, verb, and route template.
- Start locally, then select a shared SQL or Redis ledger without changing endpoint declarations.
🚀 Quick Start
Use a .NET 10 ASP.NET Core project.
dotnet new web -f net10.0 -n PackageDemo
cd PackageDemo
dotnet add package DKNet.AspCore.Idempotency
Replace Program.cs with the example, then run dotnet run.
using DKNet.AspCore.Idempotency;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddIdempotentKey();
var app = builder.Build();
app.MapPost("/orders", () => Results.Ok(new { Accepted = true }))
.RequiredIdempotentKey();
await app.RunAsync();
Send POST /orders with X-Idempotency-Key: order-1. The first call returns 200; an immediate retry returns 409. A missing header returns 400. This example keeps keys in one process; use a provider for shared storage.
Documentation
| Guide | Read when |
|---|---|
| Package overview | Start with architecture and the end-to-end flow. |
| Protect endpoints and route groups | Choose which individual endpoints and group verbs require keys. |
| Validate client keys | Set the header name, accepted length, and bounded regular expression. |
| Isolate keys by caller | Choose caller isolation and understand route-template key identity. |
| Choose duplicate responses and retention | Choose 409 versus replay and configure reservation and result lifetimes. |
| Choosing a store | Compare backends and understand first-explicit-store registration. |
| Implement a custom reservation store | Implement the atomic reservation and completion contract. |
| 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
- DKNet.Fw.Extensions (>= 13.3.1)
- FluentResults (>= 4.0.0)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on DKNet.AspCore.Idempotency:
| Package | Downloads |
|---|---|
|
DKNet.AspCore.Idempotency.MsSqlStore
DKNet is an enterprise-grade .NET library collection focused on advanced EF Core extensions, dynamic predicate building, and the Specification pattern. It provides production-ready tools for building robust, type-safe, and testable data access layers, including dynamic LINQ support, LinqKit integration. Designed for modern cloud-native applications, DKNet enforces strict code quality, async best practices, and full documentation for all public APIs. Enterprise-grade .NET library suite for modern application development, featuring advanced EF Core extensions (dynamic predicates, specifications, LinqKit), robust Domain-Driven Design (DDD) patterns, and domain event support. DKNet empowers scalable, maintainable, and testable solutions with type-safe validation, async/await, XML documentation, and high code quality standards. Ideal for cloud-native, microservices, and enterprise architectures. |
|
|
DKNet.AspCore.Idempotency.RedisStore
DKNet is an enterprise-grade .NET library collection focused on advanced EF Core extensions, dynamic predicate building, and the Specification pattern. It provides production-ready tools for building robust, type-safe, and testable data access layers, including dynamic LINQ support, LinqKit integration. Designed for modern cloud-native applications, DKNet enforces strict code quality, async best practices, and full documentation for all public APIs. Enterprise-grade .NET library suite for modern application development, featuring advanced EF Core extensions (dynamic predicates, specifications, LinqKit), robust Domain-Driven Design (DDD) patterns, and domain event support. DKNet empowers scalable, maintainable, and testable solutions with type-safe validation, async/await, XML documentation, and high code quality standards. Ideal for cloud-native, microservices, and enterprise architectures. |
|
|
DKNet.AspCore.Idempotency.NpgsqlStore
DKNet is an enterprise-grade .NET library collection focused on advanced EF Core extensions, dynamic predicate building, and the Specification pattern. It provides production-ready tools for building robust, type-safe, and testable data access layers, including dynamic LINQ support, LinqKit integration. Designed for modern cloud-native applications, DKNet enforces strict code quality, async best practices, and full documentation for all public APIs. Enterprise-grade .NET library suite for modern application development, featuring advanced EF Core extensions (dynamic predicates, specifications, LinqKit), robust Domain-Driven Design (DDD) patterns, and domain event support. DKNet empowers scalable, maintainable, and testable solutions with type-safe validation, async/await, XML documentation, and high code quality standards. Ideal for cloud-native, microservices, and enterprise architectures. |
|
|
DKNet.AspCore.Idempotency.Relational
DKNet is an enterprise-grade .NET library collection focused on advanced EF Core extensions, dynamic predicate building, and the Specification pattern. It provides production-ready tools for building robust, type-safe, and testable data access layers, including dynamic LINQ support, LinqKit integration. Designed for modern cloud-native applications, DKNet enforces strict code quality, async best practices, and full documentation for all public APIs. Enterprise-grade .NET library suite for modern application development, featuring advanced EF Core extensions (dynamic predicates, specifications, LinqKit), robust Domain-Driven Design (DDD) patterns, and domain event support. DKNet empowers scalable, maintainable, and testable solutions with type-safe validation, async/await, XML documentation, and high code quality standards. Ideal for cloud-native, microservices, and enterprise architectures. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 13.3.1 | 38 | 10/26/2026 |
| 13.3.0 | 133 | 10/22/2026 |
| 13.2.8 | 90 | 10/22/2026 |
| 13.2.7 | 171 | 10/11/2026 |
| 13.2.6 | 125 | 10/10/2026 |
| 13.2.5 | 386 | 10/2/2026 |
| 13.2.4 | 135 | 10/1/2026 |
| 13.2.3 | 134 | 10/1/2026 |
| 13.2.2 | 117 | 10/1/2026 |
| 13.2.1 | 133 | 10/1/2026 |
| 13.2.0 | 132 | 10/1/2026 |
| 13.1.3 | 200 | 9/21/2026 |
| 13.1.2 | 393 | 9/18/2026 |
| 13.1.1 | 139 | 9/18/2026 |
| 13.1.0 | 134 | 9/18/2026 |
| 13.0.2 | 131 | 9/18/2026 |
| 13.0.1 | 139 | 9/18/2026 |
| 13.0.0 | 148 | 9/18/2026 |
| 12.0.0 | 155 | 9/17/2026 |
| 11.0.0 | 210 | 9/17/2026 |