/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/MassTransit.TestFramework/Courier/TestActivity.cs
35 строк
1 KB
Chris Patterson
Add the ability to delay execute of the next routing slip activity, as well as a new callback for setting variables, setting the delay.
17 мар 2025, 19:28
17 мар 2025, 19:28
bfa161f
Код
Авторство
О чём код?
namespace MassTransit.TestFramework.Courier { using System; using System.Threading.Tasks; public class TestActivity : IActivity<TestArguments, TestLog> { public async Task<ExecutionResult> Execute(ExecuteContext<TestArguments> context) { if (context.Arguments.Value == null) throw new ArgumentNullException(nameof(context.Arguments.Value)); return context.Completed<TestLog>(new { OriginalValue = context.Arguments.Value }, x => { x.SetVariables(new { Value = "Hello, World!", NullValue = (string)null }); if (context.TryGetPayload(out MessageSchedulerContext _)) x.Delay = TimeSpan.FromSeconds(1); }); } public async Task<CompensationResult> Compensate(CompensateContext<TestLog> context) { Console.WriteLine("TestActivity: Compensate original value: {0}", context.Log.OriginalValue); return context.Compensated(); } } }