Table of Contents

Method Saga

Namespace
Millrace.Workflows
Assembly
Millrace.dll

Saga(Action<ISagaBuilder<TData>>, NestedSagaPolicy)

Appends a saga inside this one (§11.29, §11.35).

ISagaBuilder<TData> Saga(Action<ISagaBuilder<TData>> steps, NestedSagaPolicy policy)

Parameters

steps Action<ISagaBuilder<TData>>
policy NestedSagaPolicy

Returns

ISagaBuilder<TData>

Remarks

A failure inside the nested saga unwinds the nested saga first, completely, and only then reports failure outward — so this saga's compensations run against the state its own steps actually left behind.

policy has no default because it decides what this saga can still promise. It answers the other direction: the nested saga committed, this one failed later, and either the nested work is undone with it or it stands.

Exceptions

ArgumentException

The nested saga has no steps.