/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
tests/MassTransit.EntityFrameworkCoreIntegration.Tests/SlowConcurrentSaga/SlowConcurrentSagaStateMachine.cs
40 строк
1 KB
Chris Patterson
Integration of all external packages into MassTransit, split out into Abstractions, Middleware, and the core MassTransit assembly.
22 янв 2022, 18:24
22 янв 2022, 18:24
b5b4f50
Код
Авторство
О чём код?
namespace MassTransit.EntityFrameworkCoreIntegration.Tests.SlowConcurrentSaga { using System.Threading.Tasks; using DataAccess; using Events; public class SlowConcurrentSagaStateMachine : MassTransitStateMachine<SlowConcurrentSaga> { public SlowConcurrentSagaStateMachine() { InstanceState(x => x.CurrentState); Event(() => Begin, x => x.CorrelateById(context => context.Message.CorrelationId)); Event(() => IncrementCounterSlowly, x => x.CorrelateById(context => context.Message.CorrelationId)); Initially( When(Begin) .Then(context => context.Instance.Counter = 1) .TransitionTo(Started)); During(Started, When(IncrementCounterSlowly) .ThenAsync(async context => { await Task.Delay(5000); context.Instance.Counter++; }) .TransitionTo(DidIncrement)); } public Event<Begin> Begin { get; set; } public Event<IncrementCounterSlowly> IncrementCounterSlowly { get; set; } public State Started { get; set; } public State DidIncrement { get; set; } } }