redb.Route.Core 4.0.1

Prefix Reserved
dotnet add package redb.Route.Core --version 4.0.1
                    
NuGet\Install-Package redb.Route.Core -Version 4.0.1
                    
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="redb.Route.Core" Version="4.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="redb.Route.Core" Version="4.0.1" />
                    
Directory.Packages.props
<PackageReference Include="redb.Route.Core" />
                    
Project file
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 redb.Route.Core --version 4.0.1
                    
#r "nuget: redb.Route.Core, 4.0.1"
                    
#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 redb.Route.Core@4.0.1
                    
#: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=redb.Route.Core&version=4.0.1
                    
Install as a Cake Addin
#tool nuget:?package=redb.Route.Core&version=4.0.1
                    
Install as a Cake Tool

redb.Route.Core

Bridge package connecting redb.Route ESB with redb.Core props storage. Provides persistent idempotent repository backed by redb.Core and typed access to IRedbService from route pipelines.

NuGet License: Apache 2.0

Installation

dotnet add package redb.Route.Core

Usage

Access IRedbService from Routes

using redb.Route.RedbCore.Extensions;

r.From("direct://save")
    .ProcessWithRedb(async (redb, exchange, ct) =>
    {
        var order = (RedbObject<OrderProps>)exchange.In.Body!;
        await redb.SaveAsync(order, ct);
    });

The service is scoped to the exchange: parallel exchanges never share a connection. ProcessWithRedb("orders-db", ...) does the same for a named database registered with context.RegisterRedbService.

Code that runs without an exchange and may run in parallel (an observer, a background job) opens a scope of its own per call:

await using var scope = context.CreateRedbScope("audit-db");
await scope.Service.SaveAsync(record, ct);

Which service you get where, hosts, transactions: docs/REDB_SERVICE_GUIDE.md.

Persistent Idempotent Repository

Store idempotent message keys in redb.Core instead of in-memory:

using redb.Route.Core;
using redb.Route.RedbCore.Extensions;

var context = new RouteContext();
context.AddRedbIdempotentRepository("orders-inbound", ttl: TimeSpan.FromDays(7));

context.AddRoutes(r =>
{
    r.From("kafka://orders?groupId=svc&brokers=localhost:9092")
        .IdempotentConsumer(ex => ex.In.GetHeader<string>("messageId")!, "orders-inbound")
            .To("direct://process")
        .EndIdempotentConsumer();
});

The repository opens a scope of its own for every check, so it is safe under parallel consumers; inside .Transacted() the key commits with the work.

Key Classes

Class Description
RedbRouteExtensions ProcessWithRedb, SetBodyFromRedb, GetRedbService, CreateRedbScope, RegisterRedbService
RedbIdempotentRepository IIdempotentRepository backed by redb.Core props storage
RedbIdempotentOptions Configuration for repository scheme name and TTL
IdempotentEntryProps redb.Core scheme for idempotent entries

Part of

redb.Route — ESB & EIP Framework for .NET

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on redb.Route.Core:

Package Downloads
redb.Tsak.Core

Kernel of redb.Tsak — runtime container for redb.Route contexts. Provides hot-reload module loading, REST management API, scheduler, monitoring, security and pluggable cluster bootstrap.

redb.Identity.Core

OAuth 2.1 / OpenID Connect engine for redb.Identity — OpenIddict pipeline on redb.Route, redb-backed stores, MFA, WebAuthn, federation, DataProtection and signing keys.

redb.Route.Llm

Industrial LLM connector for redb.Route ESB framework. Provider-agnostic agent engine, tool-loop with governance (budget, shadow, idempotency, approval), conversation persistence via redb-engine, native EIP integration. See doc/PLAN.md.

redb.Identity.Core.Module

redb.Tsak .tpkg host glue for redb.Identity.Core — IRouteModule entry point, configuration binding and named-redb wiring.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.0.1 61 9/18/2026
4.0.0 211 9/11/2026
3.7.2 226 8/26/2026
3.7.1 225 8/26/2026
3.6.0 209 8/13/2026
3.5.1 194 8/9/2026
3.5.0 193 8/6/2026
3.4.0 231 7/27/2026
3.3.3 261 7/16/2026
3.3.1 443 7/10/2026
3.3.0 141 7/8/2026
3.2.0 235 6/29/2026
3.1.0 199 6/6/2026
3.0.1 146 6/3/2026
3.0.0 148 5/29/2026
2.0.2 160 5/16/2026
2.0.0 139 5/6/2026