• 2阶段提交协议.

    • 事务先提交给协调者,由协调者分发给各个RM,在一段规定的时间后。由RM询问各个RM是否提交还是终止操作。RM根据自己的状态来决定提交/终止。协调者根据RM的结果,决定操作的提交/终止。如果提交。由协调者通知各个RM来执行真正的提交。如果有一个要求终止,由协调者通知各个RM来回滚。(一票否决权).
  • 持久与可变RM: 大量长时间的数据处理,使用持久性的RM.对于对效率要求高的处理,使用可变的RM.
  • CLR’s TransctionScope:当事务操作涉及多个Object时使用.
    • 一个应用程序域中可以有多个LTM.一个LTM可以有一个持久,或者多个可变的RM. 当操作同时对注册表和文件进行处理时使用KTM(Vista才有).
    • 相互之间交互的是DTC,每个主机外派的谈判代表。由根DTC来决定提交/终止。每个DTC都与Root DTC关联.
  • 事务标准有:ws-coordination,ws-atomicTransction,ws-Businessactivity.
  • 事务流:缺省是关闭的. 客户端的事务可以流动到服务器端(当服务器端支持事务流时),可以让两者使用同一事务。当一个事务需要C/S共同完成时很有用.以方便两端同时回滚.保持一致.
  • 事务超时:缺省60秒.
  • 隔离级别越高,力度越细.降低事务的并发性.太低,并发行好.但是会出现脏读,幻读.所以要综合考虑.当C/S的隔离级别不同时.会出现异常.
  • 常见的事务问题: 1) 胀读: 读了别的事物修改的数据,但是别的事务在之后又发生回滚;2)非可重复性读:更改了别人正在读的数据;3)幻读: 读取了别人还未来得急要变更的数据.
    • 隔离级别

      ReadUncommitted

      ReadCommitted

      RepeatableRead

      Serializable

      脏读

      Yes

      No

      No

      No

      非可重复性读取

      Yes

      Yes

      No

      No

      幻读

      Yes

      Yes

      Yes

      No

    • 可以把事务安排到不同的层面上去.最后一个的事务,由客户端与服务器端同时完成一个事务.通过事务流来传递.

WCF之事务的更多相关文章

  1. WCF分布式事务

    原文地址:http://developer.51cto.com/art/201002/185426.htm 我们作为一个开发人员,应该能够顺应技术的不断发展,不断的去掌握新技术.那么,对于WCF的掌握 ...

  2. WCF分布式事务(EF)

    才说分布式事务,首先,了解一下什么是交易. 事务有四个特性:ACID A是Atomicity,原子性.一个事务往往涉及到很多的子操作,原子性则保证这些子操作要么都做,要么都不做,而不至于出现事务的部分 ...

  3. wcf中事务的操作

    using System; using System.ServiceModel; namespace Larryle.Wcf.ServiceContract.Transaction { [Servic ...

  4. [WCF编程]12.事务:服务事务编程(下)

    一.投票与提交 虽然WCF负责事务传播及两阶段提交协议的管理工作,但是 她不知道事务是否应该提交或终止.这需要根服务告诉WCF应该何时启动两阶段提交协议.是提交还是终止.WCF提供了两种编程模式来对事 ...

  5. [WCF编程]12.事务:服务事务编程(上)

    一.设置环境事务 默认情况下,服务类和操作没有环境事务,即使客户端事务传播到服务端也是如此. 尽管强制事务流从客户端传播过来,但服务端的环境事务依旧为null.为了启用环境事务,每个操作必须告诉WCF ...

  6. [WCF编程]12.事务:事务传播

    一.事务传播概述 WCF可以跨越服务边界传递事务.这可以让服务参与到客户端事务里,客户端还可以在同一个事务里调用多个服务.客户端本身不一定是WCF服务.客户端事务是否传播到服务端可以通过绑定和操作契约 ...

  7. [转载]WCF系列_分布式事务(下)

    浏览到chnking的WCF的分布式事务处理不错,转载过来分享一下. 1. WCF分布式事务例子这里也用转账的例子说事.用户在系统A和系统B都有账户,账户间的资金可以互转,系统A的资金减少多少,系统B ...

  8. WCF分布式开发步步为赢(12):WCF事务机制(Transaction)和分布式事务编程

    今天我们继续学习WCF分布式开发步步为赢系列的12节:WCF事务机制(Transaction)和分布式事务编程.众所周知,应用系统开发过程中,事务是一个重要的概念.它是保证数据与服务可靠性的重要机制. ...

  9. 跟我一起学WCF(13)——WCF系列总结

    引言 WCF是微软为了实现SOA的框架,它是对微乳之前多种分布式技术的继承和扩展,这些技术包括Enterprise Service..NET Remoting.XML Web Service.MSMQ ...

随机推荐

  1. WCF入门教程(三)属性标签

    属性标签,成为定义协议的主要方式.先将最简单的标签进行简单介绍,以了解他们的功能以及使用规则. 服务协定标识,标识哪些接口是服务协定,哪些操作时服务协定的一部分,以及传输对象的定义.如果已经有所了解, ...

  2. swift:自定义UICollectionViewFlowLayout

    写作目的 UICollectionView是ios中一个十分强大的控件,利用它能够十分简单的实现一些很好看的效果.UICollectionView的效果又依赖于UICollectionViewLayo ...

  3. 0c-41-ARC下循环引用问题

    1.ARC下循环引入问题 一个人拥有一只狗,一只狗拥有一个主人. 当增加d.owner = p;时形成循环引用. 解决方法:一端用strong,一端用weak. 2.ARC下@property参数 A ...

  4. -force_load使用办法

    项目中用到Three20框架,同时也使用了讯飞语音的framework,编译时出现类似如下冲突提示信息: ld: duplicate symbol _OBJC_CLASS_$_AdLinks in / ...

  5. 【PHP代码审计】 那些年我们一起挖掘SQL注入 - 7.全局防护盲点的总结上篇

    0x01 背景 现在的WEB应用对SQL注入的防护基本都是判断GPC是否开启,然后使用addlashes函数对单引号等特殊字符进行转义.但仅仅使用这样的防护是存在很多盲点的,比如最经典的整型参数传递, ...

  6. 给大家普及一下CPU和SOC的基本知识,好让大家在盲目喝彩做出基本的判断

    转载:http://bbs.tianya.cn/post-worldlook-544367-1.shtml 目前,华为推出了自己的四核手机,用自己的SOC,所以很多不明就里的人开始嚷嚷国产处理器的骄傲 ...

  7. 添加IFrame导致内存溢出的解决过程(IE浏览器,目前发现了原因,还未解决)

    1.  现象 每次动态添加iframe时,iexplore.exe进程占据的内存都会增加(大概10M左右),不会自动释放,最终导致内存溢出 2.  解决过程 经过网络的一番搜索,基本上给出的解决方案是 ...

  8. 使用java8

    刚开始一直使用的jdk7,但是学习spark的时候spark推荐Jdk8,很多示例程序都用到了lambda 机器上安装jdk8只是实验用途,默认还想使用jdk7 安装完后 网上说这是因为jdk8安装的 ...

  9. spark1.2.0编译

    spark 有三种编译方式:SBT.MAVEN.make-distribution.sh.SBT.MAVEN两种方式打出来的包比较大,不适合部署使用.因此我们通常使用第三种方式打包. ./make-d ...

  10. iOS开发系列--让你的应用“动”起来

    --iOS核心动画 概览 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建 ...