• 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. TP复习16

    'APP_GROUP_LIST' => 'Home,Admin', //项目分组设定'DEFAULT_GROUP' => 'Home', //默认分组 开分组复制上面 AjaxReturn

  2. TP复习5

    ## ThinkPHP 3.1.2 查询方式#讲师:赵桐正微博:http://weibo.com/zhaotongzheng 本节课大纲:一.普通查询方式 a.字符串 $arr=$m->wher ...

  3. VS2012无法安装cocos2d-x-2.1.4 解决方法及VS2012新建coco2d-x项目(一)

    转自:http://www.cnblogs.com/wangpei/admin/EditPosts.aspx?opt=1 (注:此方法是可行,仅供参考,建议大家直接看我的 一见命令解决vs安装并创建c ...

  4. BinaryWriter和BinaryReader用法

      C#的FileStream类提供了最原始的字节级上的文件读写功能,但我们习惯于对字符串操作,于是StreamWriter和 StreamReader类增强了FileStream,它让我们在字符串级 ...

  5. InAction-MR的topK

    本来只是想拿搜狗的数据练练手的,却无意踏足MR的topK问题.经过几番波折,虽然现在看起来很简单,但是摸爬滚打中也学到了不少 数据是搜狗实验室下的搜索日志,格式大概为: 00:00:00 298219 ...

  6. C#生成DBF文件

    C# 生成DBF,无需注册Microsoft.Jet.OLEDB. namespace ConsoleApplication { class Program { static void Main(st ...

  7. 解决xcode7添加启动图片不显示

    xcode7添加启动图片步骤: 在target中将Launch Screen File置为空,不使用自带的LaunchScreen.storyboard作为启动图(LaunchScreen.story ...

  8. DEDECMS 调用上级栏目标题

    在内容页,使用以下代码: {dede:field name='position' runphp='yes'} $tc="-"; //分隔符 $tw=$GLOBALS['cfg_li ...

  9. jQuery的deferred对象详解(二)

    Deferred对象是由$.Deferred构造的,$.Deferred被实现为简单的工厂模式. $.Deferred的实现 创建三个$.Callbacks对象,分别表示成功done,失败fail,处 ...

  10. BZOJ 2819: Nim dfs序维护树状数组,倍增

    1.随机选两个堆v,u,询问若在v到u间的路径上的石子堆中玩Nim游戏,是否有必胜策略,如果有,vfleaking将会考虑将这些石子堆作为初始局面之一,用来坑玩家.2.把堆v中的石子数变为k. 分析: ...