Incursa.Platform.ExactlyOnce
2026.3.6.320
dotnet add package Incursa.Platform.ExactlyOnce --version 2026.3.6.320
NuGet\Install-Package Incursa.Platform.ExactlyOnce -Version 2026.3.6.320
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Incursa.Platform.ExactlyOnce" Version="2026.3.6.320" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Incursa.Platform.ExactlyOnce" Version="2026.3.6.320" />
<PackageReference Include="Incursa.Platform.ExactlyOnce" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Incursa.Platform.ExactlyOnce --version 2026.3.6.320
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Incursa.Platform.ExactlyOnce, 2026.3.6.320"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Incursa.Platform.ExactlyOnce@2026.3.6.320
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Incursa.Platform.ExactlyOnce&version=2026.3.6.320
#tool nuget:?package=Incursa.Platform.ExactlyOnce&version=2026.3.6.320
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Exactly Once
Incursa.Platform.ExactlyOnce provides a small, opt-in workflow for "exactly once" (best-effort) execution. It composes idempotency with caller-defined execution and optional verification probes.
Typical flow
- Resolve a stable key for the logical operation.
- Call
TryBeginAsyncvia the executor. - Run the operation.
- Mark complete or failed based on the outcome.
Usage
var executor = new ExactlyOnceExecutor<MyItem>(idempotencyStore, keyResolver);
var result = await executor.ExecuteAsync(
item,
async (payload, ct) =>
{
await handler(payload, ct);
return ExactlyOnceExecutionResult.Success();
},
cancellationToken);
if (result.Outcome == ExactlyOnceOutcome.Retry)
{
// reschedule work
}
Notes
- The executor provides at-least-once transport with idempotent suppression.
- Optional probes can confirm whether an external side effect already occurred.
- Integration helpers for Inbox/Outbox live in Incursa.Platform.
| 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Incursa.Platform.Idempotency (>= 2026.3.6.320)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Incursa.Platform.ExactlyOnce:
| Package | Downloads |
|---|---|
|
Incursa.Platform
Core abstractions and orchestration primitives for durable background processing in Incursa Platform. |
|
|
Incursa.Platform.Email
Provider-agnostic email outbox primitives and dispatch workflows. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.3.6.320 | 0 | 3/6/2026 |
| 2026.3.4.1093 | 95 | 3/4/2026 |
| 2026.3.1.31 | 181 | 3/1/2026 |
| 2026.2.25.334 | 182 | 2/25/2026 |
| 2026.2.24.205 | 188 | 2/24/2026 |
| 2026.2.21.28 | 186 | 2/21/2026 |
| 2026.2.21.6 | 197 | 2/21/2026 |
| 2026.2.20.1418 | 183 | 2/20/2026 |
| 2026.2.20.1356 | 192 | 2/20/2026 |
| 2026.2.20.1343 | 192 | 2/20/2026 |
| 2026.2.20.908 | 184 | 2/20/2026 |
| 2026.2.20.310 | 190 | 2/20/2026 |
| 2026.2.20.132 | 186 | 2/20/2026 |
| 2026.2.20.82 | 193 | 2/20/2026 |
| 2026.2.19.224 | 192 | 2/19/2026 |
| 2026.2.19.203 | 185 | 2/19/2026 |
| 2026.2.19.92 | 195 | 2/19/2026 |