Table of Contents

Interface IStepResult

Namespace
FlowOrchestrator.Core.Execution
Assembly
FlowOrchestrator.Core.dll

The outcome of a step execution returned by IStepHandler or IStepHandler<TInput>. Controls the orchestrator's next action.

public interface IStepResult

Properties

DelayNextStep

When non-null, the orchestrator schedules the next step invocation after this delay instead of enqueueing it immediately (used by PollableStepHandler<TInput>).

TimeSpan? DelayNextStep { get; set; }

Property Value

TimeSpan?

DispatchHint

Optional hint instructing the engine to spawn dynamic child steps after this step completes. null (the default) means the engine continues using the static DAG only. Used by ForEachStepHandler to fan out loop iterations without calling the dispatcher directly.

StepDispatchHint? DispatchHint { get; }

Property Value

StepDispatchHint

FailedReason

Human-readable error message recorded when Status is Failed.

string? FailedReason { get; set; }

Property Value

string

Key

The key of the step that produced this result. Set automatically if not populated by the handler.

string Key { get; set; }

Property Value

string

ReThrow

When true, the orchestrator rethrows the step's exception after recording it, allowing Hangfire's built-in retry policy to kick in.

bool ReThrow { get; set; }

Property Value

bool

Result

Optional output value serialised to JSON and stored in IOutputsRepository. Available to subsequent steps via @outputs('stepKey') expressions.

object? Result { get; set; }

Property Value

object

Status

Terminal or intermediate status of the step. A Pending status with DelayNextStep instructs Hangfire to reschedule (polling pattern).

StepStatus Status { get; set; }

Property Value

StepStatus