/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/MassTransit/Testing/HandlerTestHarness.cs
43 строки
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.Testing { using System; using System.Threading.Tasks; public class HandlerTestHarness<TMessage> where TMessage : class { readonly ReceivedMessageList<TMessage> _consumed; readonly MessageHandler<TMessage> _handler; public HandlerTestHarness(BusTestHarness testHarness, MessageHandler<TMessage> handler) { _handler = handler; _consumed = new ReceivedMessageList<TMessage>(testHarness.TestTimeout, testHarness.InactivityToken); testHarness.OnConfigureReceiveEndpoint += ConfigureReceiveEndpoint; } public IReceivedMessageList<TMessage> Consumed => _consumed; void ConfigureReceiveEndpoint(IReceiveEndpointConfigurator configurator) { configurator.Handler<TMessage>(HandleMessage); } async Task HandleMessage(ConsumeContext<TMessage> context) { try { await _handler(context).ConfigureAwait(false); _consumed.Add(context); } catch (Exception ex) { _consumed.Add(context, ex); } } } }