简述.net中有哪几种事务

按事务是否跨越多数据资源来分类:

1)本地事务:事务操作一个数据资源,如数据库和消息队列。在物理上表现为位于同一台计算机。

2)分布事务:事务跨越多个数据源,如操作两个服务器上的数据库。

按事务处理方式划分:

1)手动事务:使用显示指令来控制事务的开始和结束,这种方式可以处理嵌套事务。SQLServer,ADO.NET都提供手动事务处理。

2)自动事务:通过有组件声明事务特性,把组件自动置于事务环境中。使用自动事务不能处理嵌套事务。自动事务的本质是依托于COM+。

本地事务的实现方式:

1) 数据库:一般DBMS都提供了自己的事务支持,如SqlServer,Oracle,属于手动处理方式。

2)ADO.Net:使用 Connection 和 Transaction 对象来控制事务。Connection.BeginTransaction 启动本地事务; Command 对象的 Transaction 属性在该事务中登记命令;然后 Transaction 对象提交或回滚在数据源中所做的修改。也属于手动处理方式。

3)使用消息队列:内部事务使用MessageQueueTransaction,属于手动处理;外部事务则要用自动事务处理方式。

分布式事务的实现:

1)数据库之间的事务:

    手动处理方式:对每一个参与的原子操作用一个Trans来控制;当最后一个操作执行成功后,事务全部提交;其中一个出错或异常,事务全部回滚。

   自动处理方式:借助于.Net EnterpriseServices提供的自动事务处理。

2)不同类型数据资源之间:

借助于.Net EnterpriseServices提供的自动事务处理。当然,可以用COM+实现事务。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/flysun0311/archive/2010/03/05/5349337.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值