代码改变世界

WCF 第三章 信道 总结

2011-06-25 07:37 by DanielWise, 1005 阅读, 0 推荐, 收藏, 编辑
摘要:信道栈是由一个或者多个信道组成用来处理消息的分层通信栈。信道可以是协议信道或者传输信道。传输信道位于信道栈的最底层用来在一个传输协议(比如,HTTP,TCP,MSMQ)上传输消息。协议信道(又名层次信道)通转发和修改消息来实现协议(安全,可信赖消息,事务,等等)。 信道工厂和信道监听器组成了发送消息和接收消息的基础。它们用来创建信道栈并把信道栈暴露给应用程序。 WCF在把信道模型细节从开发人员... 阅读全文

WCF 第三章 信道 ICommunicationObject

2011-06-25 07:35 by DanielWise, 2519 阅读, 0 推荐, 收藏, 编辑
摘要:ICommunicationObject 接口(查看列表3.8)是WCF中所有通信对象(信道,信道工厂,信道监听器,等等)的基础。打算创建自定义信道或者直接使用信道的开发人员需要了解这个接口。WCF中的通信对象需要实现一个特殊的状态机。状态机表示了所有通信对象的状态变化。这种情况就像其他通信对象(比如,套接字)所处理的那样。ICommunicationObject接口(还有与它相关联的方法,状态和事件)的目的是为了实现状态机。这允许WCF能够将按同样的方式处理通信对象,并让他们下层实现与抽象层分离。列表3.8 ICommunicationObject 接口using System;namesp 阅读全文

WCF 第三章 信道 操作契约和信道形状

2011-06-25 07:30 by DanielWise, 1122 阅读, 0 推荐, 收藏, 编辑
摘要:信道通过信道形状来完成它们所支持的多种类型消息交换模式。比如,一个基于Tcp的传输信道将会实现IInputChannel和IOutputChannel,因为这些通道都是固有单向的。其他的传输信道基于其他协议比如TCP可能需要实现多个信道形状。开发人员不直接与信道形状打交道。对应的,WCF选择一个服务的基于OperationContract的信道形状。表3.1列出了多个你可以在OperationContract上设置的影响信道形状结果的属性。注意大多数信道形状有一个无状态的(默认)和会话感知变量。会话感知信道从客户端传输一个识别标识给服务端。这可以用来维护客户端和服务端的状态。就像ASP.NET 阅读全文

WCF 第三章 信道形状

2011-06-25 07:20 by DanielWise, 1154 阅读, 0 推荐, 收藏, 编辑
摘要:WCF支持不同的消息交换模式:单向,双工和请求-回复。为了实现每种方式,WCF提供了10种不同的称作信道形状的接口。其中五个形状称作IOutputChannel, IInputChannel, IDuplexChannel, IRequestChannel和IReplyChannel.每个形状都有一个等效的支持会话的形状。它们包括IOutputSessionChannel, IInputSessionChannel, IDuplexSessionChannel, IRequestSessionChannel和IReplySessionChannel.这些接口在一个信道栈中实现了不同的消息交换模 阅读全文

WCF 第三章 信道

2011-06-25 07:11 by DanielWise, 1747 阅读, 1 推荐, 收藏, 编辑
摘要:信道就是WCF应用程序接收和发送所有信息的通道。它负责在一个持续的方式中准备并传输消息。信道是为传输,协议和消息交换定义的。信道被放到一起来创建信道栈。信道栈是处理消息的分层通信栈。比如,一个信道栈可以由一个TCP传输信道和一个事务协议信道组成。这样的一个信道栈允许使用在网络中的客户端和服务端之间使用TCP协议和事务流转来发送/接收消息。 信道栈的目标是把一条消息转成与发送方,接收方兼容的线上格式... 阅读全文

WCF 第二章 契约 系列文章

2011-06-23 22:29 by DanielWise, 3819 阅读, 4 推荐, 收藏, 编辑
摘要:上一个系列向大家普及了什么是WCF? WCF 由什么组成? WCF 主要通过什么方式寄宿等等。给大家提纲挈领般的提出了一个总的概括,就相当于这个社会主体已经存在,我们下一步将要描述社会具体由什么组成的,各个组成部分都发挥着什么样的作用,社会中最核心、最基础的内容是什么? 不用我回答,我们也能亲身体验到,社会存在的核心就是诚信,进一步讲构筑诚信的基础是什么呢? 契约,既构筑了真实世界的基础,也构筑了WCF的基础。我们在这一章会详细讨论这个基础与核心。[第1篇] 基础在原子和金钱世界中,契约是两个或多个组织以一个已知的价格提供商品和服务的合同。在比特和服务的世界中,契约有类似的功能:它是两个或多个 阅读全文

WCF 第二章 契约 总结

2011-06-23 22:04 by DanielWise, 744 阅读, 0 推荐, 收藏, 编辑
摘要:这一章覆盖了非常多的契约背景,它们是互通性的基础。契约精确地描述了一个服务所能理解的消息。 WCF高度利用SOAP于契约定义中。特别的,它使用WSDL来描述服务终结点,使用XSD来描述数据。定义在WSDL中的服务操作用来在运行时把收到的请求转发给正确的.NET类。类似的,通过XSD契约定义的XML文件在运行时被反序列化成.NET类型而且发送给服务操作。合二为一,WSDL和XSD定义提供了对服务实现... 阅读全文

WCF 第二章 契约 消息契约

2011-06-23 21:59 by DanielWise, 2574 阅读, 0 推荐, 收藏, 编辑
摘要:消息契约描述了发送给一个服务以及从一个服务接收的SOAP消息的结构,并且允许你检测和控制SOAP消息头和消息体中大部分细节。而且数据契约能够让使用XML元数据定义(XSD)标准的系统之间互通,消息契约能够让任何通过SOAP通信的系统互通。 使用消息契约能够通过直接访问SOAP消息头和消息体提供对发送给一个服务以及从一个服务接收的SOAP消息的完全控制。这允许使用简单或复杂的类型来定义SOAP部分的精确内容。就好比当你需要对数据序列化的完全控制时你可以从DataContractSerializer转换到XmlSerializer,当你需要对SOAP消息完全控制时你可以从DataContracts 阅读全文

WCF 第二章 契约 数据契约等效

2011-06-23 21:53 by DanielWise, 765 阅读, 0 推荐, 收藏, 编辑
摘要:如果你在使用WCF暴露服务而且使用svcutil.exe来为创建访问服务代码,一般情况下你不需要关心在客户端和服务端间传输的消息的线上表示。数据契约知道WCF把一个.NET类型序列化成一个XML信息集和讲一个XML信息集反序列化成一个.NET类型。XML信息集可能在线上以文件或者二进制形式编码,这些取决于通信过程中所使用的绑定,但是再次,.NET代码不会意识到编码的存在。这种方式就好比你在代码中使用.NET类型但是一个基于标准的XML信息集的编码表示在线上具体传输。 然而有很多种情况你需要在客户端和服务端使用不同的类型。如果客户端和服务端是不同组织开发的那么这很有可能,或者仅仅单边的通信是使用 阅读全文

WCF 第二章 契约 数据契约版本

2011-06-23 21:51 by DanielWise, 902 阅读, 0 推荐, 收藏, 编辑
摘要:变化是不可避免的。企业改变,技术改变,法律改变,软件契约也会改变。在面对软件的变更时,一个坚实的版本控制是必须的。我们必须为不可避免的变化做好提前准备同时对已经存在的客户端进行向后兼容处理。 对数据契约版本控制来说,最常见的需求是向已有的数据契约中添加成员。通过这一部分的描述,你可以做任何改动而不会破坏现有客户端。但是如果你需要打破现有客户端的向后兼容性,你必须通过改变数据契约的名字或者命名空间来定义另一个版本的数据契约。 一个小的注意是要注意不间断的变化。不间断,从WCF的标准来看,可能会打破与其他系统的兼容性。例如,如果与一个要求元数据验证的系统通信,系统可能会拒绝消息如果接收到的XML实 阅读全文
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 26 下一页