Насколько я понимаю, у нас есть два основных исключения при использовании NServiceBus.
Окружающая среда: означает, что любой необходимый компонент в настоящее время недоступен.Обычно это приводит к полному откату транзакции.Это описание, которое я вижу за откатом в NServiceBus Documentation (Включая возвращение сообщения в шину - это звучит фантастически).Как мне это сделать?
Проверка: обрабатывается сообщение, которое не может быть выполнено успешно из-за бизнес-логики, правил и т. Д. Где я хочу откатить все взаимодействия с базой данных, но нет смысла сохранять команду вочередь.В этом случае я просто хочу откатить часть транзакции NHibernate, а не часть MSMQ.Как мне это сделать?Обычно я выполняю проверку перед обработкой какого-либо отдельного сообщения, но когда у вас есть несколько сообщений, связанных вместе в одну транзакцию, и вы хотите откатить их все обратно, это невозможно с помощью предварительной проверки.
Мое предположениелибо ответ безумно очевиден, и я его пропустил, либо то, что я пытаюсь сделать, невозможно (в отношении исключения из проверки).