09 2014 档案
摘要:一、流操作概述 在默认情况下,当客户端调用服务时,服务只有在接收到完整的消息后才会被调用,同样,客户端只有在包含了调用结果的返回消息被完整接受时,才会解除对它的阻塞。 对于数据量小的消息,这种交换模式提供了简单的编程模型,因为接收消息的耗时较之处理消息本身而言是微不足道的。然而,一旦需要处理数据量较大的消息,如包含了多媒体内容、大文本或数据块的消息,如果每次都要等到完整接收消息之...
阅读全文
摘要:一、事件概述 基础的WCF回调机制并不能阐明客户端与服务之间交互的本质。双向回调的规范使用可以通过事件来完成。客户端发生的相关事项都可以通过事件通知客户端或者多个客户端。事件可能源于直接的客户端调用,也可能来源于服务监听器。激活事件的服务称为发布者,而接受事件答得客户端则称为订阅者。如下图所示: 与回调操作相比,WCF更重视对事件的运作。从本质讲,事件代表了发布者与订阅者之间更...
阅读全文
摘要:一、回调操作概述 WCF支持服务将调用返回给它的客户端。在回调期间,许多方面都将颠倒过来:服务将成为客户端,客户端将编程服务。回调操作可以用在各种场景和应用程序中,但在涉及事件或者服务发生时间需要通知客户端时,显得特别有用。 回调操作通常被认为是双向操作。并非所有的绑定都支持回调操作,只有在具有了双向能力的绑定时,才支持回调操作。比如,HTTP协议本质上是与与连接无关的,所以他不...
阅读全文
摘要:一、单向操作概述 WCF提供了单向操作,一旦客户端调用,WCF会生成一个请求,但没有相关的应答信息返回给客户端。所以,单向操作是不能有返回值,服务抛出的任何异常都不会传递给客户端。 理想情况下,一旦客户端调用了一个单向操作,它只会在要求调用的一瞬间被阻塞。事实上,单向调用不等于异步调用。当单向调用到...
阅读全文
摘要:一、调用操作概述 WCF除了支持经典的服务端-客户端的请求/应答操作外,还提供了对其他操作类型的内建支持,包括:即发即弃的单向调用;允许服务将调用返回给客户端的双向回调;允许客户端或服务器处理大量负荷的流操作。 二、请求/应答操作 在先前介绍的实例中,契约中的操作均为请求/应答类型。在这些类型中,客户端以消息形式发出请求,它会阻塞客户端直到收到应答消息。应答的默...
阅读全文
摘要:一、性能概述 WCF服务的性能取决于很多因素。出了CPU、RAM和网络性能等常见的因素外,实例上下文模式、并发模式、数据契约的设计或使用的绑定等与WCF有关的因素都起着重要的作用。 实例上下文模式用来控制服务对象的实例化行为有PerCall、PerSession和Singleton三种模式可供选择。 绑定决定了传输协议和编码格式。此外,通过绑定可以...
阅读全文
摘要:一、服务实例的生命周期概览 我们已经直到,通过显式调用Close方法或等待默认的超时时间到来,都可以释放服务实例。但是,在会话连接里,经常需要按一定顺序调用方法。 二、分步操作 会话契约的操作有时隐含了操作调用的顺序。WCF提供了一种被称之为分步操作(Demarcating Operation)的方法,以应对服务契约的操作需要指定执行顺序的情况。分步操作是使用O...
阅读全文
摘要:一、实例上下文模式概述 实例上下文(IntanceContext Mode)表示服务端的服务实例与客户端的服务代理的绑定方式。 在实例化服务器对象时,WCF采用了3种不同的模式:单调(Per-Call)模式,会话(Per-Session)模式和单例(Single)模式.其中会话模式是默认的。 ...
阅读全文
摘要:一、绑定行为概述 为了支持服务端的其它本地特性,WCF定义了行为的概念。行为就是服务的本地特性,不会影响服务的通信模式。客户端并不知道服务端行为,所以行为不会出现在服务的绑定和发布的元数据中。说下WCF下“契约(Contract)”和“行为(Behavior)”的区别:契约是涉及双边的描述(契约是服...
阅读全文
摘要:一、绑定概述 WCF提供了一个编程框架,可以抽象化服务创建的复杂过程。绑定允许开发人员将精力集中在问题本身上,而无需考虑如何创建允许系统运行的架构,因为WCF已经创建了架构。 绑定类型是开发人员控制WCF程序与其它消息交互的主要手段。从功能上看,绑定创建了通道工厂或通道侦听器的堆栈对象。在服务模型层和通道层中,绑定在服务模型层是可见的,但它创建的对象作用于通道层。 WCF通道模型: 绑...
阅读全文