繁体   English   中英

如何跨ASP.NET C#Web服务使用SQL事务

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM