应用WebMethod属性的TransactionOption参数控制事务

donet程序一般是通过web服务来操作数据库的,遇到有insert,update之类的语句时就用
OleDbTransaction OleTran=OleConn.BeginTransaction() ;
OleTran.Commit();
将这些语句包含起来已达到事务控制的目的。
今天发现设置WebMethod属性的TransactionOption参数也可以达到事务控制的目的。
将一个web服务方法的WebMethod部分设为[WebMethod(false,TransactionOption=TransactionOption.RequiresNew)],那么在该web服务方法中的所有数据库操作将都在一个事务中。
在使用TransactionOption之前要先引用System.EnterpriseServices.dll,因为系统没有默认引用它,再在web服务单元
using System.EnterpriseServices。
本来将多条更新语句写在一起(中间用分号隔开)也可以达到事务控制的目的,但这样只能检查出语法错误,对于逻辑错误(比如值溢出)它就没法回滚,但用 [WebMethod(false,TransactionOption=TransactionOption.RequiresNew)]
可以检查出任何错误,并回滚所有修改。

转载于:https://www.cnblogs.com/DoNetBird/archive/2005/08/17/216961.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值