【发布时间】:2015-11-05 01:10:01
【问题描述】:
我使用三种不同的 Web 服务方法将数据插入到三个不同的表中。起初我调用method1 将数据插入table1。 Method1 返回 table1 的主键。然后我将表的主键传递给method2和method3。这两种方法都将数据分别插入到 table2 和 table3 中。假设在向table3插入数据时发生异常我想回滚插入在table1和table2中的数据。我一个接一个地调用 Web 服务方法。我正在使用 asmx 网络服务。我搜索了很多以找到解决方案,但我设法找到的是单个方法调用中的回滚示例。是否可以跨 c# web 服务进行 sql 事务。请帮我解决这个问题。提前致谢
【问题讨论】:
-
这是可能的 - 它被称为distributed transactions,但可能更容易调用单个 Web 服务方法,该方法在单个 SQL 事务中以原子方式修改所有 3 个表。
标签: c# sql-server web-services transactions