Возможно ли иметь два или более сага, которые обрабатывают один и тот же тип сообщения?Ребус: Возможно ли иметь Mulitple Sagas с тем же IHandleMessages, тип
Например, две саги, которые реализуют IHandleMessages? Это работает для всех хранилищ саг или только для некоторых из них?
Update:
Я проверил у меня есть две саги (SendSMSSaga и SendEmailSaga) и реализует те же IHandleMessages (команды) индивидуальный IAmInitiatedBy единственное, что происходит в первой ручки является:
if (!IsNew) return; Data.Command = message; Data.Id = message.SagaId ?? Guid.NewGuid(); Data.Status = Status.INIT; Data.LogRecordId = Extensions.CreateLogRecordId(); await Bus.SendLocalWithHeader(new CreateLogCompleteCommand() { SagaId = Data.Id, LogRecordId = Data.LogRecordId }); //SendSMSSaga protected override void CorrelateMessages(ICorrelationConfig config) { config.Correlate(x => x.SagaId, y => y.Id); config.Correlate(x => x.SagaId, y => y.Id); } //SendEmailSaga protected override void CorrelateMessages(ICorrelationConfig config) { config.Correlate(x => x.SagaId, y => y.Id); config.Correlate(x => x.SagaId, y => y.Id); }
Тогда я получаю следующее исключение:
5 необработанных исключений: 13.07.2016 10:26:30 +02: 00: System.ArgumentException: Объект типа «Unipluss.Sign.Notification.Queue.Saga.Email.SendEmailSagaData 'не может быть преобразован в тип' Un ipluss.Sign.Notification.Queue.Saga.SendSMSSagaData.
Любые советы о том, что я делаю неправильно? Я пробовал как SQL, так и новые реализации саги AzureStorage.
Я боюсь, что это ошибка. Думаю, я никогда не предполагал, что один раз ударил несколько экземпляров саги разных типов с помощью одного сообщения ....... – mookid8000
Я поднял его как проблему здесь: https: //github.com/rebus-org/Rebus/issues/486 он будет исправлен некоторое время завтра - надеюсь, вы сможете добраться до – mookid8000
Спасибо, я могу подождать до завтра –