Сага о Ребусе разделена между несколькими обработчиками - PullRequest
0 голосов
/ 07 декабря 2018

Можно ли разделить сагу Rebus на несколько классов обработчиков?

У меня есть рабочий процесс саги Rebus, который инициируется многими типами сообщений и завершается только двумя типами сообщений.

Вместо того чтобы иметь один класс, реализующий все различные IAmInitiatedBy<T> и IHandleMessage<T>, я хотел бы разделить их на один класс для каждого сообщения, которое инициирует рабочий процесс.И один класс, который обрабатывает сообщения, завершающие рабочий процесс.

Так что, если появятся какие-то новые требования, которые также могут запустить рабочий процесс, я просто создаю новый обработчик, а не обновляю существующий.

это действительный вариант использования Rebus Sagas?Чтобы разделить обработчики между несколькими классами, работающими с одним и тем же типом SagaData.

Первоначальные тесты этого, похоже, работают, но наши существующие модульные тесты рабочего процесса используют SagaFixture, которую я не могу заставить работать вместечерез несколько приборов.

1 Ответ

0 голосов
/ 07 декабря 2018

Это должно работать просто отлично ?, но, как вы правильно обнаружили, SagaFixture на самом деле не ориентирован на обслуживание нескольких типов обработчиков саги.

Если вам будет интересно помочь, я предлагаювы идете в ответ на Rebus.TestHelpers хранилище.Я буду рад помочь вам отправить PR.

...