摘要:在前面的一些章节中,我们根据DEMO来演示WCF的相关特性,其中我们一直在用WCF服务端,然而WCF服务类不能凭空存在。每个WCF服务都必须进行托管(Hosting)在Windows进程中,该进程被称为宿主进程(Host Process)。 宿主进程与WCF服务的关系:单个宿主进程可以托管多个服务,而相同的服务类型也能够托管在多个宿主进程中。 WCF的托管的环境有很多种,下面介绍一些常用的托管环境...
阅读全文
10 2010 档案
摘要:WS双向绑定(Duplex WS Binding):由WSDualHttpBinding类提供,WS双向绑定与WS绑定相似,但它还支持从服务到客户端的双向通信。双向绑定的特点是,无论使用单向消息发送还是请求/答复消息发送方式,服务和客户端均能够独立地向对方发送消息。 对于必须直接与客户端通信或向消息交换的任意一方提供异步体验(包括类似于事件的行为)的服务来说,这种双向绑定形式非常有用。 实现双向绑...
阅读全文
摘要:上一章我们介绍了WCF绑定的自定义绑定,这一章我们通过一个DEMO来介绍如何创建一个基于HTTP或者TCP协议的程序。在绑定时,我们要指定WCF的地址:要为不在IIS里承接的服务指定基地址;要为所有相让服务支持的传输协议指定基地址,要指定相对于基地址的终结点地址。不要为终结点指定绝对地址,这样做的优势是:如果修改绑定使用一个不同的传输协议,修改简单的修改在配置中指定的绑定地址,而不在需要修改终结点...
阅读全文
摘要:上一章我们介绍了WCF绑定的基本知识,这一章我们通过一个DEMO来介绍如何创建一个自定义绑定(CustomBinding)的程序。从本章起,我们假定读者对WCF一有定的了解,DEMO创建的过程介绍将省略一些简单的步骤。自定义绑定(CustomBinding)与前面介绍的WCF程序的区别主要在于通过修改配置文件来达到创建自定义绑定(CustomBinding)的目的。 开发环境:Visual Stu...
阅读全文
摘要:服务之间的通信方式是多种多样的,有多种可能的通信模式。包括:同步的请求与应答(Request/Reply)消息,或者异步的即发即弃(Fire-and-Forget)消息等等,在通信时传输的消息编码格式也有许多种,为了简化之些操作,使之易于管理,WCF引入了绑定技术将这些通信特征组合在一起。一个绑定可以是封装了诸如传输协议、消息编码、通信模式、可靠性、安全性、事务传播以及互操作性等相关选项的集合,并...
阅读全文
摘要:在契约版本管理的前二章,我们主要介绍了数据契约对版本的影响,本章我们介绍一下服务契约的变化对版本的影响。服务契约的接口支持继承功能,我们可以定义一个契约层级,但是ServiceContract特性是不能继承的,因此,接口层级中的每组接口都必须显示的标记ServiceContract特性。 下面我们通过一个DEMO来演示服务契约的继承: 1、新建WCF Service Library程序,修改解决方...
阅读全文
摘要:IExtensibleDataObject,MSDN给出的解释为:提供一个数据结构,用于存储 XmlObjectSerializer 在反序列化一个用 DataContractAttribute 属性标记的类型期间遇到的额外数据。命名空间: System.Runtime.Serialization,程序集: System.Runtime.Serialization。 IExtensibleData...
阅读全文
摘要:WCF版本相容性:指WCF的服务端在更新为新版本的情况下,客户端对服务端的引用不进行更新到最新的服务端,而继续引用旧的服务端但不发性异常。WCF契约缺省是提供版本相容性支持的,所有的服务契约,数据契约与消息契约,都允许缺失、非必需(non-required)的数据存在;且可以忽略多余的数据;DataContractSerializer提供相容性支持;适当的变化并不会对现存的客户端或者服务端产生影响...
阅读全文
摘要:上一章我们介绍了契约设计中的已知类型契约(KnownTypesContract),这一章我们介绍:消息契约(MessageContract)。 消息契约(MessageContract):对控制消息头和消息体元素提供了强力支持,支持MessageHeaderAttribute和MessageBodyMemberAttribute属性。可以添加自定义头,控制消息是否被包装(IsWrapped),以及...
阅读全文
摘要:上一章我们介绍了契约设计中的明确契约(ExplicitContract),这一章我们介绍:已知类型契约(KnownTypesContract)。 已知类型契约(KnownTypesContract)允许在服务契约中使用多态的行为;在服务操作中暴露基本类型,将已知类型(known types)相关到:基本类型(基类类型)自身、特定操作、整个服务契约;采用属性声明或者配置的方式来实现。 开发环境:Vi...
阅读全文
摘要:WCF的契约主为分为:服务契约、数据契约、消息契约,其中数据契约包括:可序列化的数据类型和已知类型。而我们在设计契约时,则主要采用三种方式:明确契约(ExplicitContract)、已知类型契约(KnownTypesContract)和消息契约(MessageContract)。开发环境:Visual Studio 2010 + Net Framework 4.0。 明确契约(Explicit...
阅读全文
摘要:WCF全称为Windows Communication Foundation,是Microsoft平台上的SOA架构,用于构建分布式和可交互操作的应用程序。它统一ASMX, .NET Remoting, 与Enterprise Services的开发模型,为各种应用提供单一的编程模型,基于配置驱动的协议选择,消息格式,进程分配等。 开发环境:Visual Studio 2010 + NET Fra...
阅读全文