Есть ли способ выполнить компенсацию от ошибочной деятельности - PullRequest
0 голосов
/ 23 октября 2018

Предположим, что я определил активность в маршрутизации.В рамках метода Execute я хотел бы сделать несколько асинхронных вызовов службы.Предположим, 3 сервисных звонка.Двое из них преуспевают, а один - нетЗатем я хотел бы выполнить действие компенсации этого действия, чтобы компенсировать изменения, внесенные двумя успешными вызовами службы.Из того, что я вижу, компенсация запускается только для предыдущих операций, текущая компенсация деятельности не может быть вызвана, когда где-то есть исключение.Есть ли способ справиться с этим, или я должен изменить подход?

Я хотел бы добиться чего-то подобного enter image description here, используя MassTransit.

1 Ответ

0 голосов
/ 24 октября 2018

У вас должно быть три отдельных действия, и выполняйте их по порядку, чтобы по мере их успешного выполнения они добавлялись в журнал.В случае сбоя какого-либо действия предыдущие действия будут компенсированы.

Имея все три вызова в одном действии, вы идете вразрез со всей причиной наличия маршрутной квитанции и действий.

...