/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/MassTransit/Configuration/SendPipeConfiguratorExtensions.cs
60 строк
2 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 { using System; using System.Threading.Tasks; using Configuration; public static class DelegatePipeConfiguratorExtensions { /// <summary> /// Adds a callback filter to the send pipeline /// </summary> /// <param name="configurator"></param> /// <param name="callback">The callback to invoke</param> public static void UseSendExecute(this ISendPipeConfigurator configurator, Action<SendContext> callback) { var specification = new DelegatePipeSpecification<SendContext>(callback); configurator.AddPipeSpecification(specification); } /// <summary> /// Adds a callback filter to the send pipeline /// </summary> /// <param name="configurator"></param> /// <param name="callback">The callback to invoke</param> public static void UseSendExecuteAsync(this ISendPipeConfigurator configurator, Func<SendContext, Task> callback) { var specification = new AsyncDelegatePipeSpecification<SendContext>(callback); configurator.AddPipeSpecification(specification); } /// <summary> /// Adds a callback filter to the send pipeline /// </summary> /// <param name="configurator"></param> /// <param name="callback">The callback to invoke</param> public static void UseSendExecute<T>(this ISendPipeConfigurator configurator, Action<SendContext<T>> callback) where T : class { var specification = new DelegatePipeSpecification<SendContext<T>>(callback); configurator.AddPipeSpecification(specification); } /// <summary> /// Adds a callback filter to the send pipeline /// </summary> /// <param name="configurator"></param> /// <param name="callback">The callback to invoke</param> public static void UseSendExecuteAsync<T>(this ISendPipeConfigurator configurator, Func<SendContext<T>, Task> callback) where T : class { var specification = new AsyncDelegatePipeSpecification<SendContext<T>>(callback); configurator.AddPipeSpecification(specification); } } }