Rwx.Sagas
0.3.1
dotnet add package Rwx.Sagas --version 0.3.1
NuGet\Install-Package Rwx.Sagas -Version 0.3.1
<PackageReference Include="Rwx.Sagas" Version="0.3.1" />
<PackageVersion Include="Rwx.Sagas" Version="0.3.1" />
<PackageReference Include="Rwx.Sagas" />
paket add Rwx.Sagas --version 0.3.1
#r "nuget: Rwx.Sagas, 0.3.1"
#:package Rwx.Sagas@0.3.1
#addin nuget:?package=Rwx.Sagas&version=0.3.1
#tool nuget:?package=Rwx.Sagas&version=0.3.1
Rwx.Sagas
Saga orchestration for Rwx integration events, including state-machine execution, correlation, and optional timeout scheduling.
Install
dotnet add package Rwx.Sagas --version 0.1.0
Quick start
Install Rwx.Sagas.Abstractions in the project that defines the saga state machine. Register the framework services and one saga. The correlation type declares each event the saga handles by implementing ISagaCorrelationId<TEvent>.
using Rwx.Sagas;
builder.Services.AddRwxSagas();
builder.Services.AddRwxSaga<OrderSagaState, OrderSagaStateMachine, OrderSagaCorrelation>();
Add a repository adapter, such as Rwx.Sagas.Persistence.EfCore, to supply ISagaRepository<TState>. If the state machine defines timeout states, also configure Rwx.Jobs.Persistence.EfCore and run the Rwx.Jobs worker so scheduled timeout jobs execute.
The module equivalent is RwxSagasModule.
Boundaries
A saga coordinates an asynchronous cross-event process; it is not a distributed transaction and must not contain aggregate invariants. Correlation must be deterministic and stable for every event type. Persist state through ISagaRepository<TState>, make event transitions safe under duplicate delivery, and configure the jobs persistence adapter plus worker whenever a state schedules a timeout.
| 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.Configuration.Abstractions (>= 10.0.9)
- Microsoft.Extensions.DependencyInjection (>= 10.0.9)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Logging (>= 10.0.9)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.9)
- Rwx.Core (>= 0.3.1)
- Rwx.EventBus.Abstractions (>= 0.3.1)
- Rwx.Jobs.Abstractions (>= 0.3.1)
- Rwx.Sagas.Abstractions (>= 0.3.1)
- Scrutor (>= 7.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Rwx.Sagas:
| Package | Downloads |
|---|---|
|
Rwx.Sagas.Persistence.EfCore
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.