在我正在开发的服务中,我需要提供双重操作:
Register()
方法);和Dispatch()
方法)。考虑到我无法切换操作的顺序,我希望能够“回滚”第一个,如果第二个出现问题,那么当时无效的记录不会插入到BD。这里的问题是,当然,我在Register
方法中提交事务。如果出现任何问题,我有什么方法可以从Dispatch
方法中回滚它吗?
编辑:所有事务都是从.NET端管理的。
答案 0 :(得分:2)
在这种情况下,数据库不会帮助您。您必须使用相互撤消的操作对来创建补偿事务。您的服务将有效地替换已进入关系数据库以管理事务的所有工作和逻辑。