/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/MassTransit.Abstractions/SagaStateMachine/BehaviorContext.cs
79 строк
3 KB
Chris Patterson
Huge push towards optimization on startup, state machines, type discovery, caching, and the consume pipeline. Rebuilt the dispatch filter as a consume context filter for message type dispatch.
27 мар 2024, 02:43
27 мар 2024, 02:43
c17b1de
Код
Авторство
О чём код?
namespace MassTransit { using System; using System.Threading.Tasks; /// <summary> /// A behavior context is an event context delivered to a behavior, including the state instance /// </summary> /// <typeparam name="TSaga">The state instance type</typeparam> public interface BehaviorContext<TSaga> : SagaConsumeContext<TSaga> where TSaga : class, SagaStateMachineInstance { StateMachine<TSaga> StateMachine { get; } Event Event { get; } [Obsolete("Use Saga instead. Visit https://masstransit.io/obsolete for details.")] TSaga Instance { get; } /// <summary> /// Raise an event on the current instance, pushing the current event on the stack /// </summary> /// <param name="event">The event to raise</param> /// <returns>An awaitable Task</returns> Task Raise(Event @event); /// <summary> /// Raise an event on the current instance, pushing the current event on the stack /// </summary> /// <param name="event">The event to raise</param> /// <param name="data">THe event data</param> /// <returns>An awaitable Task</returns> Task Raise<T>(Event<T> @event, T data) where T : class; Task<SendTuple<T>> Init<T>(object values) where T : class; /// <summary> /// Return a proxy of the current behavior context with the specified event /// </summary> /// <param name="event">The event for the new context</param> /// <returns></returns> BehaviorContext<TSaga> CreateProxy(Event @event); /// <summary> /// Return a proxy of the current behavior context with the specified event and data /// </summary> /// <typeparam name="T">The data type</typeparam> /// <param name="event">The event for the new context</param> /// <param name="data">The data for the event</param> /// <returns></returns> BehaviorContext<TSaga, T> CreateProxy<T>(Event<T> @event, T data) where T : class; } /// <summary> /// A behavior context include an event context, along with the behavior for a state instance. /// </summary> /// <typeparam name="TSaga">The instance type</typeparam> /// <typeparam name="TMessage">The event type</typeparam> public interface BehaviorContext<TSaga, out TMessage> : SagaConsumeContext<TSaga, TMessage>, BehaviorContext<TSaga> where TSaga : class, SagaStateMachineInstance where TMessage : class { new Event<TMessage> Event { get; } [Obsolete("Use Message instead. Visit https://masstransit.io/obsolete for details.")] TMessage Data { get; } new Task<SendTuple<T>> Init<T>(object values) where T : class; } }