事务管理器负责协调多个部分间的工作并通过资源管理器提交工作。资源管理器负责处理可信赖,持续存储。取决于使用的资源和服务或应用跨越的边界,WCF将使用三个事务管理器中的一个来完成事务处理。轻量级事务管理器(LTM)用来在一个应用程序域中管理资源。核心事务管理器(KTM),仅仅存在于Vista 和Windows Server 2008 系统中,用来管理文件系统和注册表资源的事务。分布式事务管理器(DTC)用来管理跨程序,进程或者机器边界的事务。应用程序不控制具体使用哪一个事务管理器;WCF将会选择最合适的事务管理器并在没有应用程序干预的情况下按需要逐步扩大。

当通信在跨应用,进程或者机器边界中转换语义时,可能要用到这两种事务协议中的一个。OlexTx协议是一种

Windows下特定的二进制协议。它源于DTC非常适用于在一个内部网络中通信的情况。网络服务原子事务协议,或者简称为WS-AT,是一个也支持跨应用,进程和机器的标准协议。但是与OlexTx不同,WS-AT是独立于传输协议的可以再TCP,HTTP或者其他网络协议上流转。尽管应用程序不能选择使用哪一个资源管理器,它们却可以选择使用哪一种事务协议。

事实上你尽可以为特定的绑定确定事务协议: 那些支持会话的(事务要求会话),那些支持双向通信的(事务要求双工通信),那些没有与WS-*堆栈绑定的9(WS-*绑定总是使用WS-AT)。这些限制最后只有netTcpBinding和netNamedPipeBinding满足。对这些绑定的事务协议可以通过代码或配置文件确定。列表5.21显示了一个使用TCP绑定与WS-AT的配置文件,它可以在基于标准的(WS-AT),快速的(二进制),安全的(TCP)的因特网服务上进行事务流转。

列表5.21 在一个绑定中确定WS-AT

<bindings>

<netTcpBinding>

<binding name=”wsat” transactinFlow=”true” transactionProtocol=”WSAtomicTransactionOctober2004”/>

</netTcpBinding>

</bindings>

WCF 第五章 行为 事务之选择一个事务协议-OleTx 或者WS-AT相关推荐

  1. WCF 第五章 行为 实现事务(操作行为)

    有两个场景一般用作事务的参考.多步骤商业过程是典型跨度分,天,月的长时间运行过程.它们可以涉及多个组织和基于人的工作流.短期运行事务是那些在几秒钟完成并很少有外部依赖的商业操作.尽管它们都有定义的很好 ...

  2. WCF 第五章 并发和实例(服务行为)

    并发是一个多少个任务可以同时执行的度量,以任务(请求,工作,事务,以及类似的)的形式度量.执行时间是一个任务多长时间完成的度量,以时间(毫秒,秒,其他的时间单位等)度量.吞吐量是在一个指定时间里可以完 ...

  3. 如何为你的代码选择一个开源协议

    相信很多刚踏入软件这个行业的小伙伴一如当初的我,对开源软件的各种协议不甚了解被搞昏了头脑.毕竟对于一个新生程序员来说,如何写好代码才是亟待解决的问题,无暇了解这些.随着你项目做得多了代码写得多了,你会 ...

  4. WCF 第五章 行为 实现自定义行为

    自定义行为可以在WCF创建运行时和消息处理管道时让你在重要的地方插入代码.行为可以添加到代码中,通过属性或配置文件手动实现服务描述.在所有的情况中,代码可以做一些辅助动作,比如在一个目录中寻找信息或者 ...

  5. WCF 第五章 会话级别的实例

    会话在分布式应用程序中广泛用于维护每个用户的状态.在站点或者基于站点的应用中,将每个用户的状态存储于会话中很常见.这这些情况中,用户和会话间有一个1:1比例.WCF以一个类似的概念支持服务.使用Ins ...

  6. WCF 第五章 控制并发调用的数量

    当InstancingMode设置成Single时,WCF在宿主内创建一个单一的实 例,不考虑有多少客户端被创建.当ConcurrencyMode设置成Multiple时,WCF为每个请求创建一个线程 ...

  7. WCF 第五章 导出并发布元数据(服务行为)

    一个服务的ABCs-它的地址,绑定和契约-是以元数据的形式表示的以便于潜在的客户端知道到哪里,该如何与谁去通信.信息统称为服务元数据.服务行为元数据是大多数程序员遇到的第一个行为,因为当你创建WCF工 ...

  8. WCF 第五章 行为 以属性为服务操作行为暴露一个参数检测器

    列表5.24实现一个使用正则表达式验证参数的行为.它可以应用到任何操作上并允许开发人员定义一个正则表达式和当参数不合法时用来返回错误信息的消息. 代码显示了从一个操作行为调用的一个参数检测器并显示了实 ...

  9. D3.js的v5版本入门教程(第五章)—— 选择、插入、删除元素

    D3.js的v5版本入门教程(第五章) 1.选择元素 现在我们已经知道,d3.js中选择元素的函数有select()和selectAll(),下面来详细讲解一下 假设我们的<body>中有 ...

最新文章

  1. Linux 技术篇-查看cpu核心数,grep常用信息筛选语法使用演示
  2. linux snap安装redis-desktop-manager
  3. QT的QIntValidator类的使用
  4. 解决ajax方法内部不能给外部变量赋值的问题
  5. Building Paragon in Unreal Engine 4 - GDC 2016
  6. 项目管理指标_项目经理必掌握的九大项目管理问题
  7. Linux学习:第五章-Linux用户和用户组管理
  8. java 阻塞 socket_java socket非阻塞I/O
  9. vue实现上传图片并预览效果 html+css+js
  10. 京都计算机学院放假时间表,2018年官方放假安排时间一览表
  11. 首届 RustCon Asia 圆满落幕——Love is electricity for RustCon Asia
  12. FOP(PDF与JAVA)
  13. spring成神之路第十八篇:@ComponentScan、@ComponentScans 详解(bean 批量注册)
  14. 关于利用51单片机实现篮球记分牌功能的概述
  15. RDD转换为DataFrame的两种方式详解
  16. 自动驾驶年度激辩:量产由三要素驱动,本质是数据的军备竞赛 | MEET2022
  17. 64个 360 评估的提问样例
  18. 微信公众号 - Java推送小程序订阅消息给用户
  19. CSDN 开始起航
  20. 可商用字体在哪里找?2022可商用字体汇总

热门文章

  1. 2018专转本计算机百度云资源,2018年江苏专转本计算机真题版
  2. python面向对象属性_Python面向对象属性
  3. php开发当中遇到的各种问题,PHP项目开发中遇到过的问题
  4. python什么时候用类设计_关于python:类模板的习惯用法或设计模式?
  5. greys的简单使用
  6. 这台相机没镜头!美国教授新发明,一块玻璃可成像,拍照给计算机看
  7. 为AI芯片铺路?原三星半导体周军加盟Rokid
  8. 解决response.setHeader(Content-disposition 中文乱码问题
  9. 十六、字符串和数组之间的转换
  10. 类字面常量和静态代码执行顺序