C#综合揭秘——细说事务
引言 其实事务在数据层、服务层、业务逻辑层多处地方都会使用到,在本篇文章将会为大家一一细说。 其中前面四节是事务的基础,后面的三节是事务的重点,对事务有基础的朋友可以跳过前面四节。 文章有错漏的地方欢迎各位点评。 目录 一、事务的定义 二、事务管理器 三、在ADO.NET中实现事务 四、隐式事务 TransactionScope 五、在WCF中实现事务 六、嵌套式事务 七、异步事务 一、事务的定义 所谓事务,它是一个操作集合,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。典型的例子就像从网上银行系统的帐户A转帐到帐户B,它经过两个阶段:1.从帐户A取出款项。2.把款项放入帐户B中。这两个过程要么同时成功,要么同时失败,这一系列的操作就被称为事务性(Transactional)操作。 在一个事务性操作的环境下,操作有着以下的4种特性,被称为ACID特性 原子性(Atomicity) 当事务结束,它对所有资源状态的改变都被视为一个操作,这些操作要不同时成功,要不同时失败 一致性(Consistency) 操作完成后,所有数据必须符合业务规则,否则事务必须中止 隔离性(Isolation) 事务以相互隔离的方式执行,事务以外的实体无法知道事务过程中的中间状态 持久性(Durable) 事务提交后,数据必须以一种持久性方式存储起来 回到目录 二、事务管理器