Raycynix.Extensions.Messaging.Database
0.3.0
See the version list below for details.
dotnet add package Raycynix.Extensions.Messaging.Database --version 0.3.0
NuGet\Install-Package Raycynix.Extensions.Messaging.Database -Version 0.3.0
<PackageReference Include="Raycynix.Extensions.Messaging.Database" Version="0.3.0" />
<PackageVersion Include="Raycynix.Extensions.Messaging.Database" Version="0.3.0" />
<PackageReference Include="Raycynix.Extensions.Messaging.Database" />
paket add Raycynix.Extensions.Messaging.Database --version 0.3.0
#r "nuget: Raycynix.Extensions.Messaging.Database, 0.3.0"
#:package Raycynix.Extensions.Messaging.Database@0.3.0
#addin nuget:?package=Raycynix.Extensions.Messaging.Database&version=0.3.0
#tool nuget:?package=Raycynix.Extensions.Messaging.Database&version=0.3.0
Raycynix.Extensions.Messaging.Database
Raycynix.Extensions.Messaging.Database adds persistent inbox and outbox storage for Raycynix messaging on top of Raycynix.Extensions.Database.
What it contains
AddDatabasePersistence(...)- persistent
IIncomingMessageInboxStore - persistent
IMessageOutboxStore - EF Core configurators registered into the shared
DatabaseContext - ambient unit-of-work aware outbox persistence for shared
DatabaseContextscopes - optional background retention cleanup for inbox/outbox tables
What it does not contain
- broker-specific Kafka client setup
- broker-specific RabbitMQ client setup
- EF Core entities for your application domain
- cross-resource distributed transactions
Usage
builder.Services.AddRaycynixDatabase(builder.Configuration);
builder.Services.AddRaycynixMessaging(builder.Configuration)
.AddDatabasePersistence(options =>
{
options.InboxTableName = "messaging_inbox";
options.OutboxTableName = "messaging_outbox";
options.ProcessedInboxRetention = TimeSpan.FromDays(3);
options.DispatchedOutboxRetention = TimeSpan.FromDays(3);
});
The package replaces the default in-memory inbox/outbox stores with database-backed implementations and registers its EF Core configurators into the shared DatabaseContext through AddRaycynixDatabaseAssembly(...). Table creation still flows through the existing Raycynix database initialization pipeline.
This package gives messaging persistence that survives process restarts, participates in the ambient shared DatabaseContext unit of work for outbox writes, runs retention cleanup, and works with the existing outbox recovery pipeline. It does not provide distributed transactions, but it does provide durable inbox/outbox state and database-backed recovery/dispatch leasing in the configured database.
| 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
- Microsoft.Extensions.DependencyInjection (>= 10.0.5)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.5)
- Raycynix.Extensions.Database (>= 0.4.0)
- Raycynix.Extensions.Messaging (>= 0.11.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.