Я хочу иметь возможность написать собственное промежуточное программное обеспечение для Rebus, которое будет охватывать обработчики сообщений: выполнение до и после каждого обработчика, независимо от типа сообщения.Возможно ли это с Rebus, и если да, то как мне это сделать?
Просматривая исходный код Rebus, я думаю, что должно быть возможным, поскольку библиотека очень аккуратно построена вокругКонцепция IPipeline
с настраиваемыми «шагами».Но хотя выглядит так, как будто легко добавлять пользовательские шаги, я не могу найти публичного API, предоставляющего доступ к этой линии.Возможно ли изменить конвейер из клиентского кода?
То, что я ищу, по сути эквивалентно MassTransit's IFilter<>
.Мы собираемся выбрать между MassTransit и Rebus (или, возможно, пользовательской реализацией поверх Microsoft.Azure.ServiceBus
) для нового проекта, и на данный момент это похоже на главную функцию, отсутствующую в Rebus.