/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
tests/MassTransit.EntityFrameworkCoreIntegration.Tests/ReliableMessaging/ReliableStateMachine.cs
37 строк
1 KB
Chris Patterson
Working on an inbox/outbox implementation for Entity Framework Core, InMemory, and ultimately additional transaction-based storage engines
17 июн 2022, 02:49
17 июн 2022, 02:49
77e1f4b
Код
Авторство
О чём код?
namespace MassTransit.EntityFrameworkCoreIntegration.Tests.ReliableMessaging { using MassTransit.Tests.ReliableMessaging; using TestFramework; public class ReliableStateMachine : MassTransitStateMachine<ReliableState> { public ReliableStateMachine() { InstanceState(x => x.CurrentState); Initially( When(CreateState) .TransitionTo(Created) .Send(context => context.ReceiveContext.InputAddress, context => new StateVerified() { CorrelationId = context.Saga.CorrelationId }, (x, sendContext) => sendContext.Headers.Set("MT-Fail-Delivery", x.Message.FailMessageDelivery && x.GetRetryAttempt() == 0)) .If(context => context.Message.FailOnFirstAttempt && context.GetRetryAttempt() == 0, fail => fail.Then(context => throw new IntentionalTestException())) ); During(Created, When(StateVerified) .TransitionTo(Verified) ); } // // ReSharper disable UnassignedGetOnlyAutoProperty // ReSharper disable MemberCanBePrivate.Global public State Created { get; } public State Verified { get; } public Event<CreateState> CreateState { get; } public Event<StateVerified> StateVerified { get; } } }