[英]How to use sql transactions across asp.net c# web services
我使用三种不同的Web服务方法将数据插入到三个不同的表中。 首先,我要调用method1将数据插入到table1中。 方法1返回表1的主键。 然后,我将表的主键传递给method2和method3。 两种方法都将数据分别插入到table2和table3中。 假设如果将数据插入到table3中时发生异常,我想回滚插入到table1和table2中的数据。 我一个接一个地调用Web服务方法。 我正在使用asmx Web服务。 我进行了很多搜索以找到解决方案,但我设法找到的只是单个方法调用中的回滚示例。 是否可以跨c#Web服务执行sql事务。 请帮助我解决此问题。 提前致谢
我确实不能肯定地说不看您正在使用的应用程序,但是我觉得您的问题可能暴露了系统中的设计缺陷。 SQL Server分布式事务或WCF事务可能会帮助您完成某些工作,我真的感到Justin的评论是关于拥有一个Web服务调用来修改最佳解决方案中涉及的所有表的。 这使您的业务逻辑能够原子地处理事务。
只需尝试添加这两行
try
{
transaction.Commit();
}
catch (SqlException ex)
{
transaction.Rollback();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.