事务
概述:事务的主要特征是:要么全部完成,要么全部失败.事务常用于数据库,但利用System,Transactions名称空间的类,还可以对不稳定的/基于内存的对象执行事务操作,Widonws Vista后,文件系统和注册表也支持事务,一个事务可以包含多个操作。
ACID属性
Atomicity(原子性):表示一个工作单元,在事务中,要么整个工作单元都成功完成,要么都不完成
Consistency(一致性):事务开始前的状态和事务完成后的状态必须有效,在执行事务过程中,状态可以有临时值
Isolation(隔离性):表示并发进行的事务独立于状态,由并发事务所作的修改必须与任何其他并发事务所作的修改隔离。查看数据时数据所处的状态,要么是事务修改它之前的状态,要 么是事务修改它之后的状态。简单的理解就是,防止多个并发更新彼此干扰。事务在操作数据时与其他事务操作隔离。隔离性一般是通过加锁的机制来实现的
Durability(持久性):事务完成之后,它对于系统的影响是永久性的。已提交的更改即使在发生故障时也依然存在
注意:并不是每个事务都需要这4个属性,例如:基于内存的事务就不需要支持持久性,事务也不总是需要与外界隔离
对于事务的开发,.NET平台也为我们提供了几种非常简单方便的事务机制。无论是在功能上还是性能上都提供了优秀的企业级事务支持
.NET开发者可以使用以下5种事务机制:
l SQL和存储过程级别的事务。
l ADO.NET级别的事务。
l ASP.NET页面级别的事务。
l 企业级服务COM+事务。
l System.Transactions 事务处理。