redb.Route.Core
2.0.2
Prefix Reserved
dotnet add package redb.Route.Core --version 2.0.2
NuGet\Install-Package redb.Route.Core -Version 2.0.2
<PackageReference Include="redb.Route.Core" Version="2.0.2" />
<PackageVersion Include="redb.Route.Core" Version="2.0.2" />
<PackageReference Include="redb.Route.Core" />
paket add redb.Route.Core --version 2.0.2
#r "nuget: redb.Route.Core, 2.0.2"
#:package redb.Route.Core@2.0.2
#addin nuget:?package=redb.Route.Core&version=2.0.2
#tool nuget:?package=redb.Route.Core&version=2.0.2
redb.Route.Core
Bridge package connecting redb.Route ESB with redb.Core EAV storage. Provides persistent idempotent repository backed by redb.Core and typed access to IRedbService from route pipelines.
Installation
dotnet add package redb.Route.Core
Usage
Persistent Idempotent Repository
Store idempotent message keys in redb.Core instead of in-memory:
using redb.Route.Core.Extensions;
builder.Services.AddRedbRoute(route =>
{
route.AddRedbIdempotentRepository(); // register RedbIdempotentRepository
route.AddRoutes(r =>
{
r.From("kafka://orders?groupId=svc&brokers=localhost:9092")
.IdempotentConsumer(
e => e.Message.GetHeader<string>("messageId"),
new RedbIdempotentRepository(redb))
.To("direct://process");
});
});
Access IRedbService from Routes
r.From("direct://save")
.Process(async (exchange, ct) =>
{
var redb = exchange.GetService<IRedbService>();
var order = exchange.Message.GetBody<RedbObject<OrderProps>>();
await redb.SaveAsync(order);
});
Key Classes
| Class | Description |
|---|---|
RedbIdempotentRepository |
IIdempotentRepository backed by redb.Core EAV 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 | Versions 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. |
-
net10.0
- redb.Core (>= 2.0.2)
- redb.Route (>= 2.0.2)
- redb.Route.Controllers (>= 2.0.2)
-
net8.0
- redb.Core (>= 2.0.2)
- redb.Route (>= 2.0.2)
- redb.Route.Controllers (>= 2.0.2)
-
net9.0
- redb.Core (>= 2.0.2)
- redb.Route (>= 2.0.2)
- redb.Route.Controllers (>= 2.0.2)
NuGet packages (1)
Showing the top 1 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. |
GitHub repositories
This package is not used by any popular GitHub repositories.