WCF把书读薄(3)——数据契约.消息契约与错误契约 真不愧是老A的书,例子多,而且也讲了不少原理方面的内容,不过越读越觉得压力山大……这次来稍微整理整理事务和可靠会话的内容. 十八.事务编程 WCF的分布式事务编程,指的是在客户端定义一个事务范围,在这个范围内对WCF服务进行连续调用,可以实现其中一个出现问题整体回滚的效果.由于WCF依赖于MSDTC,所以首先需要开启MSDTC服务才能够通过WCF进行分布式事务编程. 这里我也自己写了一个典型的银行转账的练习,首先需要建立一个数据库,数据表只有…
上一篇:WCF把书读薄(2)——消息交换.服务实例.会话与并发 十二.数据契约 在实际应用当中数据不可能仅仅是以int Add(int num1, int num2)这种简单的几个int的方式进行传输的,而是要封装成相对复杂的Request/Response对象,即用我们自定义的类来进行消息的传输,那么就需要一种规则来序列化/反序列化我们自己的对象成为某种标准格式.WCF可以通过数据契约来完成这一过程,WCF使用的序列化器是DataContractSerializer. 在一个类上打上DataC…
上一篇:WCF把书读薄(1)——终结点与服务寄宿 八.消息交换模式 WCF服务的实现是基于消息交换的,消息交换模式一共有三种:请求回复模式.单向模式与双工模式. 请求回复模式很好理解,比如int Add(int num1, int num2)这种方法定义就是典型的请求回复模式,请求者发送两个数字,服务回复一个结果数字.如果采用ref或者out参数,那么在xsd当中,ref参数会作为输入和输出参数,out参数只作为输出参数.在WCF当中void返回值的操作契约其实也是请求响应模式的,因为将返回值改…
WCF学习笔记之事务编程 一:WCF事务设置 事务提供一种机制将一个活动涉及的所有操作纳入到一个不可分割的执行单元: WCF通过System.ServiceModel.TransactionFlowAttribute特性定义在契约的相应操作方法上: TransctionFlowOption三个选项:NotAllowed.Allowed.Mandatory不同的事务流转策略: 1:NotAllowed(默认) 客户端的事务不会允许被流转到服务端,服务端也不会试图去接收流入的事务: 2:Allowe…
一.投票与提交 虽然WCF负责事务传播及两阶段提交协议的管理工作,但是 她不知道事务是否应该提交或终止.这需要根服务告诉WCF应该何时启动两阶段提交协议.是提交还是终止.WCF提供了两种编程模式来对事务的结果进行投票,即声明式和显式模式. 声明式投票 WCF可以代替服务自动完成提交或终止事务的投票.自动投票是通过OpreationBehavior的TransactionAutoComplete属性来控制的. TransactionAutoComplete属性的默认值为true,可以如下使用: /…
今天我们继续学习WCF分布式开发步步为赢系列的12节:WCF事务机制(Transaction)和分布式事务编程.众所周知,应用系统开发过程中,事务是一个重要的概念.它是保证数据与服务可靠性的重要机制. 作为面向服务应用的开发平台,WCF也提供了对事物编程模型的支持..NET 2.0提供的System.Transactions类来开发事务应用程序.同样WCF也支持事务特性,WCF事务机制是什么,它与微软已有的技术如Microsoft 分布式事务协调器 (MSDTC)有何关系?与Enterpise…
一.设置环境事务 默认情况下,服务类和操作没有环境事务,即使客户端事务传播到服务端也是如此. 尽管强制事务流从客户端传播过来,但服务端的环境事务依旧为null.为了启用环境事务,每个操作必须告诉WCF启用事务.为了解决这个问题,WCF提供了OperationBehaviorAttribute的TransactionScopeRequired属性: // 指定服务方法的本地执行行为.[AttributeUsage(AttributeTargets.Method)]public sealed cla…
MySQL基础之事务编程学习笔记 在学习<MySQL技术内幕:SQL编程>一书,并做了笔记.本博客内容是自己学了<MySQL技术内幕:SQL编程>事务编程一章之后,根据自己的理解做的笔记,内容和书本并不一致,不过书本实验都经过自己验证,基于MySQL5.7版本.做笔记的目的是方便自己复习,同时分享出来或许对其他人或许有点帮助 1.事务概述 事务是数据库区别于文件系统的重要特性之一,提到事务肯定会想到事务的4个特性ACID,要保证业务的正常使用,必须保证ACID,ACID表示原子性(…
今天继续WCF分布式开发步步为赢系列的第4节:WCF服务可靠性传输配置与编程开发.这个章节,我们要介绍什么是WCF服务的可靠性传输,随便介绍网络协议的概念,Web Service为什么不支持可靠性传出,具体的WCF绑定协议和可靠性的关系,实现可靠性传输有什么方式,以及配置和开发的详细实现代码分析部分.[1]可靠性传输[2]配置方式实现可靠性传输[3]编程方式实现可靠性传输[4]编程实现必备有序传递[5]结果分析和总结. 下面进入正式的内容: [1]可靠性传输: [1.0]网络协议基础知识: 这里…
可靠会话传输需要解决两个问题:重复消息和无序交付:制定WS-RM的一个主要目的就是实现一种模块化 的可靠消息传输机制:WS-RM两个版本(WS-RM1.0和WS-RM1.1): WCF中整个可靠会话的实现完全是通过ReliableSessionBindingElement这个绑定元素创建的信道实现的: AcknowledgementInterval:如果消息的发送方和接收方通过双工通道连接,接收方能够随时向接收方发送确认.在这种情况下,为了降低网络流量,WCF采用批量确认的机制.也就是说,当接收…