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
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
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
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