В службе, которую я сейчас разрабатываю, мне нужно выполнить двойную операцию:
- Запрашиваемый запрос должен быть зарегистрирован в базе данных (с использованием метода
Register()
);и - Запрос должен быть отправлен на внешний веб-сервис для дальнейшей обработки (с использованием метода
Dispatch()
).
Учитывая, что я не могу переключитьв порядке операций, я хотел бы иметь возможность «откатить» первую, если что-то пойдет не так со второй, чтобы затем недействительная запись не вставлялась в BD.Проблема здесь в том, что, конечно, я совершаю транзакцию внутри метода Register
.Можно ли как-нибудь откатить его изнутри метода Dispatch
, если что-то пойдет не так?
Редактировать: Все транзакции управляются со стороны .NET.