Table of Contents

Interface ISagaPolicy<TSaga, TMessage>

Namespace
MassTransit
Assembly
MassTransit.Abstractions.dll
public interface ISagaPolicy<TSaga, TMessage> where TSaga : class, ISaga where TMessage : class

Type Parameters

TSaga
TMessage

Properties

IsReadOnly

If true, changes should not be saved to the saga repository

bool IsReadOnly { get; }

Property Value

bool

Methods

Existing(SagaConsumeContext<TSaga, TMessage>, IPipe<SagaConsumeContext<TSaga, TMessage>>)

The method invoked when an existing saga instance is present

Task Existing(SagaConsumeContext<TSaga, TMessage> context, IPipe<SagaConsumeContext<TSaga, TMessage>> next)

Parameters

context SagaConsumeContext<TSaga, TMessage>
next IPipe<SagaConsumeContext<TSaga, TMessage>>

Returns

Task

Missing(ConsumeContext<TMessage>, IPipe<SagaConsumeContext<TSaga, TMessage>>)

Invoked when there is not an existing saga instance available

Task Missing(ConsumeContext<TMessage> context, IPipe<SagaConsumeContext<TSaga, TMessage>> next)

Parameters

context ConsumeContext<TMessage>
next IPipe<SagaConsumeContext<TSaga, TMessage>>

Returns

Task

PreInsertInstance(ConsumeContext<TMessage>, out TSaga)

If true, the instance returned should be used to try and insert as a new saga instance, ignoring any failures

bool PreInsertInstance(ConsumeContext<TMessage> context, out TSaga instance)

Parameters

context ConsumeContext<TMessage>
instance TSaga

Returns

bool

True if the instance should be inserted before invoking the message logic