У меня есть команда, которая обновляет два агрегата.Поскольку агрегатные маршруты являются транзакционными границами, у меня есть команда, которая выполняет действие repository.Save () в первом агрегате, а затем запускаю другую команду (из первой команды), которая действует во втором агрегате.Каждое действие Save () запускает свою транзакцию Event-Store и фиксирует изменения, а затем публикует их.
Во-первых, правильно ли это, т. Е. Разрешить одной команде уведомлять другую статистику другой командой?
Я заметилв коде Марка Нихджефа, что он использует обработчики событий, что приятно, поскольку вы можете зарегистрировать обработчики событий для одного и того же события.Я попытался сделать это, используя Event-Store J Oliver, но мои commits.events в IDispatchCommit ссылались на первые значения агрегатов при обработке второго.Это вызвало некоторые странные ошибки.
Поэтому я должен найти способ заставить эту работу работать с EventHandlers или запускать команды внутри команд, хорошо?
JD
Редактировать - Я использовал подключенный провод, чтобы использовать .UsingAsynchronousDispatchScheduler (), и теперь разрешаю зарегистрированным событиям запускать более одного обработчика событий, который, в свою очередь, запускает команду в другом агрегате, и это, похоже, работает.Итак, это правильный способ сделать это и не использовать команды запуска команд?