首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使命必达: 深入剖析WCF的可靠会话(上)

但是,WCF并不能依赖于可靠会话被显式地被终止,而设定一个超时时限,在该时间范围内如何没有活动的消息交换,WCF会将可靠会话关闭。...可以根据计算的往返时间来调整第一次尝试重新传输的时间,因此这些尝试所经历的时间将会相应地发生变化。这样,可以使重新传输时间动态地适应不断变化的网络条件。...由于基于请求/回复模式的HTTP传输不能够独立提供对双工通信的支持,WCF采用的是双通道的方式。...我们可以通过编程的方式开启或者关闭终结点使用的除WSDualHttpBinding之外的其他系统绑定(限于支持可靠会话系统绑定)的可靠会话开关,以及设置InactivityTimeout和Ordered...但是,如果套餐不符合您的胃口,你应该查看菜单点你喜欢的菜肴。自定义绑定给了你最大的自由度,是能能够根据具体的通信环境自由组合需要的绑定元素。关于如何为自定义绑定的可靠会话进行设置,敬请关注《下篇》。

73860

《WCF技术剖析(卷2)》目录

WCF事务编程 3.4.1. 通过服务契约决定事务流转的策略 3.4.2. 通过绑定实施事务的流转 3.4.3. 通过服务(操作)行为控制事务 3.4.4....WCF中的同步上下文与线程亲和性 4.3. 流量限制(Throttling) 4.3.1. 如何进行限流控制? 4.3.2. WCF限流控制是如何实现的?...Windows用户组授权与认证的关系 8.2.2. Windows用户组授权编程 8.2.3. 实例演示:基于Windows用户组的声明式授权(S801) 8.2.4....ASP.NET Roles授权与认证的无关性 8.3.3. ASP.NET Roles授权 编程 8.3.4. 实例演示:不同认证方式下的ASP.ENT Roles授权 8.3.5....通过定义四种行为对WCF的扩展 9.3.1. WCF四种类型的行为 9.3.2. 行为方法的执行 9.3.3. 实例演示:通过扩展确保语言文化一致性(S901) 9.4.

1.3K90
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    《WCF技术剖析》博文系列汇总

    [第11篇] 异步操作在WCF中的应用[上篇][下篇] 按照操作执行所需的资源类型,我们可以将操作分为CPU绑定型(CPU Bound)操作和I/O绑定型(I/O Bound)操作。...所以WCF下的序列化(Serialization)解决的就是如何将数据从对象的表现形式转变成XML表现形式,以确保数据的正常交换。...[第21篇] WCF基本的异常处理模式[上篇][中篇][下篇] 由于WCF采用.NET托管语言(C#和NET)作为其主要的编程语言,注定以了基于WCF的编程方式不可能很复杂。...WSDL的Binding元素来源于终结点的绑定对象,那么这些基于Binding的元数据以及相应的策略断言是如何被写入WSDL的呢?...的元数据发布,针对这两种不同的协议,元数据获取的实现方式也是不同的,本片文章中通过自己的方式进行元数据获取,可以看成是对WCF客户端元数据框架的模拟。

    1.4K100

    WCF技术剖析(卷1)之前言

    当然,对于基于WCF编程的介绍,对于任何一本WCF的专著是必需的,《WCF技术剖析》也不例外,只是和哪些完全介绍WCF编程的书不同的是,相关内容仅仅只占所有内容的一半左右。...在本章中,我们会谈到基于不同网络协议地址之间的差异,以及如何在服务寄宿和服务调用的时候通过代码或者配置的方式设定终结点的地址。...本章涉及的内容还包括:如何为数据契约序列化器设定已知类型(KnownType),以及已知类型在序列化和反序列化过程中所起的重要作用;如何定义基于范型数据契约和集合数据契约;等价数据契约在WCF消息交换中的意义...通过本章的介绍,你将对这两种服务调用方式具有一个全面的认识,本章还将深入剖析ClientBase和ChannelFactory这两个重要的类型。...我们还会根据PetShop,介绍如何通过WCF扩展实现与微软开源开发框架企业库集成,比如通过与Unity的继承将DI容器引入WCF应用服务实例的创建;通过与EHAB(Exception Handling

    1K100

    《WCF的绑定模型》博文系列汇总

    WCF是所有的这些通信技术集大成者,它充分地整合了所有这些使用于不同领域、不同场景的通信技术,提供了一个统一的编程模型。...[第2篇] 信道与信道栈(Channel and Channel Stack) WCF采用基于消息交换的通信方式,而绑定则实现了所有的通信细节。...绑定通过创建信道栈实现了消息的编码与传输,以及对WS-*协议的实现。WCF绑定模型涉及多种类型的组件,比如信道、信道监听器、信道工厂等等。...组成信道栈的单个信道对象基于对某项单一功能的实现,在不同环境中,我们需要根据具体的需要创建相应的信道,并根据一定的顺序把这些信道组成一个完整的信道栈。...对于绑定对象来说,如何实现这种灵活、自由的信道常创建方式,这得益于基于绑定元素的设计模式。

    523100

    WCF学习笔记 2

    在学习WCF的ABCB之前,我们先创建一个NetNamedPipeBinding绑定方式的服务。...理解契约式编程 契约合同能保障双方的利益,对客户来说,合同规定了供应者要做的工作;对供应者来说,合同说明了如果约定的条件不满足,供应者没有义务一定要完成规定的任务。该道理同样也适用于软件....所以,契约式编程是编程的一种方法。 ?...引入契约观念之后,这种Client 与 Server 关系被打破,大家都是平等的,你需要我正确提供服务,那么你必须满足我提出的条件,否则我没有义务“排除万难”地保证完成任务。...WCF服务契约 服务契约描述了暴露给外部的类型、以及所支持的操作、使用的消息交换模式和消息的格式。每个WCF服务必须实现至少一个服务契约。

    40320

    使命必达: 深入剖析WCF的可靠会话

    WS-RM定义了一种消息传输协议(Messaging Protocol),以实现在可靠消息传输过程中对消息的识别、追踪和管理。并在此基础上,定义了SOAP绑定实现了互操作。...下篇将关注点聚焦到单个消息上,看看在整个基于序列的上下文中进行的,不同类型的消息具有怎样的结构… 阅读全文 【编程篇-上】 在《实例篇》给出的例子中,我们实际上是通过对终结点的绑定进行相应的配置让整个消息的交换过程在一个可靠会话中进行...本篇文章主要为你讲述基于绑定的可靠会话编程… 阅读全文 【编程篇-下】 整个可靠会话的机制是完全在信道层实现的,而整个信道层的最终缔造者就是绑定,所以可靠会话编程是围绕着绑定进行的。...《上篇》对实现可靠会话的绑定元素已经如何使用系统绑定实现可靠会话进行了介绍,下篇将和你探讨WCF可靠会话编程模型余下两个主题:自定义绑定和对消息传递的强制约束… 阅读全文 【原理篇-上】 可靠会话的编程仅仅围绕着一个对象...绑定是由一系列绑定元素的有序组合,不同的保定元素具有各自的目的,而实现可靠会话的是一个叫做ReliableSessionBindingElement的绑定元素… 阅读全文 【原理篇-下】 上面一部分我们站在信道层的角度剖析了

    58860

    WCF学习笔记 5

    WCF的宿主环境ServiceHost 服务通过 ServiceHost 进行寄宿。可以添加终结以暴露可被调用寻址和调用的资源。...ServiceHost 类型和基类 ServiceHostBase 中定义了几个 AddServiceEndpoint 方法的重载实现不同方式添加终结点: public abstract class ServiceHostBase...终结点在WCF编程接口中通过 ServiceEndpoint 类型表示,ServiceEndpoint 具有分别代表终结点地址、绑定和契约的三个核心属性: namespace System.ServiceModel.Description...WCF 在进行基地址行和相对地址匹配时,就会根据终结的绑定类型从基地址列表中获取与传输协议前缀相匹配的地址。...契约Behavior和操作Behavior被定义成了特性对应的应用在类或接口和方法上。 服务Behavior既可以采用声明的方式应用也可以采用配置的方式应用。

    72420

    WCF传输安全(Transfer Security)的基本概念和原理:认证(Authentication)

    WCF是一个以消息作为通信手段的分布式编程平台,使我们可以将某些可复用的功能以服务的方式进行定义,并最终部署于分布式网络环境中的某个节点,供潜在的服务消费者调用。...如何服务端将接收到的消息当成是正常的转账请求,后果可想而知; 敏感信息的泄漏:消息往往中包含一些敏感的信息,比如信用卡号、身份证号等,如何这些消息以明文的方式在网络中被传输,被网络拦截工具捕获后很自然地会被恶意的黑客看到...认证方能够根据本认证方提供的身份证识别对方的真实身份,必须满足三个条件:其一,被认证人声称是身份证上注明的那个人;其二,身份证的持有者就是身份证的拥有者;其三,身份证本身是合法有效的,即使通过公安机关颁发的...上述的三个条件本质上也反映了,能够基于用户凭证的认证过程中凭证本身应该具有的属性,以及凭证和本认证人的关系,即:凭证与声明的一致性,被认证人对凭证的拥有性,以及凭证的合法性。...为了简单,我们不妨简称为用户凭证的三个属性。用户凭证的类型决定了认证的方式,WCF支持一系列不同类型的用户凭证,以满足不同认证需求。

    87690

    默认终结点

    很多WCF的初学者是从之前的Web服务上转移过来的,他们非常怀念.asmx Web服务无配置的服务寄宿方式。...但是对于WCF来说,在进行服务寄宿的时候,你必须以编程或者配置的方式为服务添加至少一个终结点,而终结点需要具备基本的ABC三要素。...对于最新版本的WCF编程人员来说,你也可以采用无配置的服务寄宿了,这主要得益于WCF提供的默认终结点机制。...所谓默认终结点,顾名思义,就是在你尚未为寄宿的服务添加任何终结点的时候,WCF会自动根据服务的基地址(Base Address)为你创建一个或者多个默认的终结点。...对于自动创建的终结点,其地址和服务契约分别来源于指定的基地址和服务实现的契约,那么采用的绑定又是如何确定的呢? 一、默认终结点的绑定是如何确定的?

    77860

    WCF技术我们应该如何以正确的方式去学习掌握

    由于WCF技术知识点太多了,就纯基础概念性知识都可以单独出一本书来讲解,本次分享课程《C#面向服务编程技术WCF从入门到实战演练》开课之前,阿笨还是希望从没了解过WCF技术的童鞋们提前先了解一下WCF技术...二、WCF技术绑定协议(Binding)那么多,那我该如何去学习?...阿笨的回答就是:"取其精华"+"抽丝剥茧",千万不要"囫囵吞枣",最终导致“因噎废食”,这里阿笨给出的建议是学习下面几种绑定: 1)、BasicHttpBinding: 最简单的绑定类型,通常用于 Web...三、C# WCF如何通过优雅的方式进行统一入口调用 采用WCF服务代理工厂(WCFServiceProxyFactory),通过服统一入口给我们的调用者提供的服务吧。...五、实战演练之C# WCF如何通过优雅的方式进行统一入口调用) 客户端调用WCF服务可以通过添加服务引用的方式添加,这种方式使用起来比较简单,适合小项目使用。

    46820

    C# WCF服务

    根据基于消息的通信的概念中,一个HTTP请求可以被均匀地表示,WCF是一个统一的API而不管不同的传输机制。...简单的归结为四大部分 网络服务的协议,即用什么网络协议开放客户端接入。 业务服务的协议,即声明服务提供哪些业务。 数据类型声明,即对客户端与服务器端通信的数据部分进行一致化。 传输安全性相关的定义。...通信双方的沟通方式,由合约来订定。通信双方所遵循的通信方法,由协议绑定来订定。通信期间的安全性,由双方约定的安全性层次来订定。 3:WCF有什么优势 1:互操作性。...WCF服务的提供增强的可靠性和安全性,WS-Security,WS-Trust和WS-SecureConversation均被添加到SOAP消息中,以用于用户认证,数据完整性验证,数据隐私等多种安全因素...绑定:WCF支持多种类型,如 basicHttpBinding,WSDualHttpBinding,WSHttpBinding等绑定,而Web服务仅支持SOAP或XML。

    92520

    WCF学习笔记 1

    WCF为.Net Framework提供了一个基础,使其能够编写代码,以在组件、应用程序、系统之间进行通信。 WCF的设计遵循的是面向服务的原则。 服务是指可以通过消息与之进行交互的一段代码。...数据契约:服务中的参数; 消息契约:使用SOAP协议特定的消息部分; 服务契约:服务中的方法; 策略与绑定:策略设置安全或其他条件,绑定指定传输方式与编码。...消息传递层由通道(信道)组成,通道是对消息进行处理的组件,负责以一致的方式对消息进行整理和传送。通道用于传输层、协议层、及消息获取。各层次的通道组成了信道栈。...终结点包括一个定义消息可以发送到的目的地的位置(地址); 一个描述消息应如何发送的通信机制规范(绑定); 以及对于可以在该位置发送或接收(或两者皆可)的一组消息的定义(服务协定)—该定义还描述了可以发送何种消息...当客户端添加WCF服务引用的时候,会首先通过元数据取得服务器端的契约信息、终结点信息,然后根据这些信息在客户端创建了代理类,我们在客户端调用WCF服务的过程实际上就是通过代理类调用WCF服务的过程。

    93140

    使用自定义行为扩展 WCF

    您可以通过编写能以声明方式应用到服务中的自定义行为来使用这些扩展点。本月将为您介绍这一流程的工作原理。...WCF 可扩展性 在上期专栏中,我重点介绍了 WCF 绑定概念,您可以为 WCF 服务上的各个终结点指定绑定。绑定控制该终结点的消息传递详细信息(发生在网络上的情况)。...参数检查器 在 Lookup 方法自身中实现邮政编码 + 4 验证逻辑并不困难,但是,如果结果是接受邮政编码的大量操作,最好是将验证逻辑作为能够以声明方式应用到任意操作的 IParameterInspector...每个类型都允许在不同的作用域应用扩展(请参见图 8)。每种行为类型也是通过不同的接口定义来模拟的,但它们都共用一组相同的方法(请参见图 9)。...自定义绑定元素能够访问这些绑定参数,并可以对自定义绑定元素进行设计以查找这些参数(关于自定义绑定的详细信息,请参阅我在 2007 年 7 月一期的“WCF 深度绑定”专栏,网址是:msdn.microsoft.com

    1.8K70

    我的WCF之旅(1):创建一个简单的WCF程序

    为了使读者对基于WCF的编程模型有一个直观的映像,我将带领读者一步一步地创建一个完整的WCF应用。本应用功能虽然简单,但它涵盖了一个完整WCF应用的基本结构。...WCF广泛采用基于自定义特性(Custom Attribtue)的声明式编程模式,我们通过在接口上应用System.ServiceModel.ServiceContractAttribute特性将一个接口定义成服务契约...在上面的代码中,在创建ChannelFactory的时候再在构造函数中指定终结点的相关要素(契约通过范型类型表示,地址和绑定则通过参数指定)。...,现在我们来演示如何将WCF服务寄宿到IIS中。...Web.config所有配置内容如下所示,可以看出,这基本上和上面通过自我寄宿方式定义的配置一致。唯一不同的是在添加的终结点中无须指定地址,因为.svc所在的地址就是服务的地址。

    66321

    WCF技术剖析(卷1)之目录

    构建一个简单的WCF应用            步骤一:构建整个解决方案            步骤二:创建服务契约            步骤三:创建服务            步骤四:通过自我寄宿的方式寄宿服务...)            3.1.3  案例演示3-1:如何直接通过绑定进行消息通信            3.1.4  WCF的绑定模型        3.2  绑定编程           ...是CLR类型与厂商无关服务描述的适配器        4.2  服务契约编程接口            4.2.1  ServiceContractAttribute与OperationContractAttribute...  WCF客户端是如何进行服务调用的            8.1.5  案例演示8-2:创建一个托管应用模拟最简单的WCF框架     8.2  ChannelFactory和DuplexChannelFactory...会话简介            9.4.2  WCF会话编程模型            9.4.3  会话(Per-Session)实例上下文模式        9.5  会话模式、绑定与实例上下文模式

    97890

    WCF技术剖析之八:ClientBase中对ChannelFactory的缓存机制

    WCF采用基于终结点(Endpoint)服务消费方式:WCF服务通过一个或者多个终结点暴露给潜在的服务消费者,服务的消费中通过与之匹配的终结点与之交互。...在客户端,我们具有两种典型的服务代理创建方式,其一是通过诸如SvcUtil.exe这样的工具导入服务的元数据生成相应的服务代理(一个继承自ClientBase的类型)代码和相关配置;其二是直接通过相应的终结点信息...在本例中,先后以相同的方式(调用相同的构造函数,传入相同的参数)创建并开启了两个CalculatorClient对象,然后检验它们的ChannelFactory是否是相同的对象。...三、如何有效利用ChannelFactory的缓存机制 为了能够充分利用ChannelFactory的缓存机制,获得更好的服务调用性能,我们可以得出以下两个最佳实践: 避免通过人为指定绑定对象创建...WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理 WCF技术剖析之十一:异步操作在WCF中的应用(上篇) WCF技术剖析之十一:异步操作在WCF中的应用(下篇) WCF技术剖析之十二:数据契约

    961110

    WCF系列教程之WCF服务配置

    文本参考自:http://www.cnblogs.com/wangweimutou/p/4365260.html 简介:WCF作为分布式开发的基础框架,在定义服务以及消费服务的客户端时可以通过配置文件的方式...当然WCF也提供硬编程的方式,通过在代码中直接设置相关对象的属性来完成服务端与客户端的配置,然而这种方式并不利于后期程序的更改和扩展。...(2)、binding:设置与终结点的通信的通信方式,通信方式分为两种,一种是系统提供的绑定类型,另一种是用户自定义的绑定类型。...客户端只需要根据Web Service地址,便可获取服务的相关信息,反序列话本地的代码,通过服务代理进行服务的调用。WCF服务主要特性之一就是跨平台的服务交互。...绑定信息可能很复杂,也可能很简单,一般来说绑定包含的如何连接到终结点的信息属于以下类别中的一种: (1)、协议:确定使用的安全机制,可靠消息传递或事务上下文流设置 (2)、编码:确定消息编码(文本或者二进制

    1.5K60

    使命必达: 深入剖析WCF的可靠会话(下)

    《上篇》对实现可靠会话的绑定元素已经如何使用系统绑定实现可靠会话进行了介绍,下篇将和你探讨WCF可靠会话编程模型余下两个主题:自定义绑定和对消息传递的强制约束。...但是,如果套餐不符合您的胃口,你应该查看菜单点你喜欢的菜肴。自定义绑定给了你最大的自由度,是能能够根据具体的通信环境自由组合需要的绑定元素。...虽然我们可以通过编程的方式之间将创建的ReliableSessionBindingElement对象添加到绑定的绑定元素集合中,但是我们还是强烈建议你通过配置的方式来对可靠会话的相关选项进行定制。...如果你认真阅读过《WCF技术剖析(卷1)》第3章,你会知道消息编码绑定元素并不参与信道的创建,而是将编码的方式传入绑定上下文,传输信道据此采用相应的编码方式进行消息的编码或者解码。...我们说WCF可靠会话编程完全就是围绕着绑定进行的,可以说得更加具体点,是围绕着ReliableSessionBindingElement进行的。

    57080
    领券