C#事务
文章平均质量分 71
shellwin
这个作者很懒,什么都没留下…
展开
-
TransactionScope使用(一)——简单的实现事务处理
事务属性事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的操作作要么都做,要么都不做。一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。持久性(durability)。持续性原创 2010-08-23 16:30:00 · 2027 阅读 · 0 评论 -
TransactionScope使用(三)——TransactionScopeOption的使用
TransactionScopeOpetion有三个选项,分别是:1. Required(默认):如果存在环境事务,那么就加入其中,如果不存在就创建新事务。如果加入事务那么只有在环境事务提交后才算提交。2. RequiresNew:无论什么情况下都创建新的事务。不用等到环境事务提交才进行操作。3. Suppress:不参与任何事务。注:虽然嵌套范围可联接根范围的环境事务,但在嵌套范围中调用 Complete对根范围没有影响。仅当从根范围到最后一个嵌套范围的所有范围都投票决定提交事务时,才会提交该事务。原创 2010-08-25 16:40:00 · 3093 阅读 · 0 评论 -
TransactionScope使用(二)——msdtc不可用
在上一个实例中是将所有的代码都放在了ts的范围内去执行,现在把三个操作分别定义自己的数据库连接封装在三个不同的方法中,然后将这三个方法放在ts范围内去执行。经过测试出现了一个错误“msdtc不可用”。网上查看了一下,原来需要把这个服务打开。于是本人查看了一下计算机服务,的确没有打开,打开后程序运行正常。但是之后问题出来了,为什么在上一个实例的时候没有报错呢?先来说说这个服务,百度上是这样描述的:描述: msdtc.exe是微软分布式传输协调程序。该进程调用系统Microsoft Personal W原创 2010-08-24 15:40:00 · 2481 阅读 · 0 评论 -
TransactionScope使用(四)——超时和隔离级别设置
事务超时设置可以通过TransactionOptions对象设置Timeout后作为参数在创建TransactionScope的时候传进去设置事务的超时。如果设置为0表示不限制时间,这种情况最好在调试中使用。在范围联接环境事务但所指定的超时值小于为该环境事务所设置的超时值时,会在 TransactionScope 对象上强制实施较小的超时值,并且该范围必须在指定的嵌套时间内结束,否则会自动中止事务。如果嵌套范围的超时值大于环境事务的超时值,则前者无效。隔离级别设置 可以通过TransactionOpti原创 2010-08-28 15:07:00 · 5441 阅读 · 0 评论