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

WCF中的Binding模型之六(完结篇):从绑定元素认识系统预定义绑定

之所以将此绑定命名为BasicHttpBinding,很大程度上缘于它仅仅包含一些最基本的用于消息通信的元素。 1....WsHttpBinding对事务的支持。...下面的代码中,我们通过另一个构造函数设定WsHttpBinding对可靠会话的支持(第二个参数代表是否支持可靠会话)。...从对于传输协议的支持来看,它们都就是基于HTTP或者HTTPS的绑定;从对标准的支持看来,BasicHttpBinding提供对WS-BP 1.1的支持,WsHttpBinding和WsDualHttpBinding...命名管道本身可以支持跨机器的通信,而在WCF中对NetNamedPipeBinding作了更加严格的限制,使其只能用于同一台机器的跨进程通信(IPC)。

931100

WCF系列教程之WCF服务配置

,来进行设置,这充分的体现了WCF的伸缩性和自定义性。...4、endpoint节点:该节点指定用于公开服务的终结点的绑定、协定和地址属性,与WCF的所有通信是通过该服务的终结点进行的,利用终结点,WCF服务可以访问WCF提供的功能。...(2)、binding:设置与终结点的通信的通信方式,通信方式分为两种,一种是系统提供的绑定类型,另一种是用户自定义的绑定类型。...指定的绑定确定传输协议的类型、安全和使用编码,以及是否支持或启用可靠会话、事务或流。 (3)、bindingConfiguration:一个字符串,指定实例化终结点时所使用的绑定的绑定名称。...如上图中采用的是wsHttpBinding,则bindingConfiguration的名称对应bindings下的wsHttpBinding里的名称为myBinding的绑定。 ? ?

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

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

    在《实例篇》给出的例子中,我实际上是通过对终结点的绑定进行相应的配置让整个消息的交换过程在一个可靠会话中进行,进而实现可靠消息传输的目的。...FlowControlEnabled:该属性指示可靠会话是否已启用流控制(Flow Control)。流控制是可靠会话实现的一种机制,目的是确保发送方所发送的消息数不超过接收方可处理的消息数。...二、为系统绑定的可靠会话进行设置 在众多系统绑定中,有很大一部分都为可靠会话提供支持,比如WSHttpBinding、WS2007HttpBinding、NetTcpBinding、WSFederationHttpBinding...我们可以通过编程的方式开启或者关闭终结点使用的除WSDualHttpBinding之外的其他系统绑定(限于支持可靠会话系统绑定)的可靠会话开关,以及设置InactivityTimeout和Ordered...但是,如果套餐不符合您的胃口,你应该查看菜单点你喜欢的菜肴。自定义绑定给了你最大的自由度,是能能够根据具体的通信环境自由组合需要的绑定元素。关于如何为自定义绑定的可靠会话进行设置,敬请关注《下篇》。

    73860

    利用WCF改进文件流传输的三种方式

    在WCF中引入了一种专门针对数据流进行优化编码的MTOM模型。下面我们使用编码模型和调用模型三种方式来改写文件流的传输,以提高WCF应用程序的性能。...这种编码是为那些包含大量的二进制数据的SOAP消息而做的,它是把数据流作为SOAP消息的附件而添加的。所以利用这种编码在传输信道之间传输可以显著提高传输性能。...配置信息定义了双方通信的终结点、绑定、契约行为及其他的配置如安全,可靠性等。...="Mtom" textEncoding="utf-8" > wsHttpBinding> 注意:在这种方式下使用同步和异步方法没有明显的差别,后来我在分析了...这种方法的内部处理中使用线程池中的一个线程接管这个调用,程序可以获得异步调用的返回信息而继续向前执行。 WCF编程模型中采用了一种让同步传输中使用异步回调的方式来提高应用程序的响应。

    1.4K60

    菜菜从零学习WCF三(配置服务)

    在其中可以定义和自定义如何向客户端公开服务,包括指定可以找到服务的地址、服务用于发送和接收消息的传输和消息编码,以及服务需要的安全类型。   ...--binding.通常,指定一个类似WsHttpBinding的系统提供的绑定,但也可以指定一个用户定义的绑定,指定的绑定确定传输协议类型、安全和使用的编码,以及是否支持或启用可靠会话、事务或流。   ...绑定最起码必须指定要使用的传输(如Http或TCP)。还可以通过绑定来设置其他特征,如安全和事务支持。   绑定中的信息可能非常基本,也可能非常复杂。...--WSHttpBinding:一个可互操作的绑定,适用于连接到复合WS_*协议的终结点。   ...9个binding之一, 比如是basicHttpBinding,也可以是自定义的customBinding。

    80310

    WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果?

    数据报信道(Datagram Channel) WCF通过信道栈实现了消息的编码、传输及基于某些特殊功能对消息的特殊处理,而绑定对象是信道栈的缔造者,不同的绑定类型创建出来的信道栈具有不同的特性。...就对会话的支持来讲,我们可以将信道分为以下两种: 会话信道(Sessionful Channel):会话信道确保客户端和服务端之间传输的消息能够相互关联,但是信道的错误(Fault)会影响后续的消息交换...上面讲的是对最大会话的限制,实际也可以说成是对最大会话信道的限制,那么对于非会话信道是否也有此限制呢?...实践出真知,照例通过具体的例子来说明问题。我们知道绑定是信道的创建者,信道的特性通过组成绑定的元素(绑定元素)决定,所以信道对会话支持的特性也不例外。...为了验证在非会话信道的情况下,WCF最大并发会话限制是否存在,我们对上面的代码稍加修改,在创建WsHttpBinding的时候,将安全模式设为SecurityMode.None(当然,在进行服务寄宿的时候

    53620

    WCF服务上应用protobuf

    虽然是二进制数据格式,但并没有因此变得复杂,开发人员通过按照一定的语法定义结构化的消息格式,然后送给命令行工具,工具将自动生成相关的类,可以支持java、c++、python等语言环境。...在官方文档中也提到,protobuf并不太适合来作大数据的处理,当业务消息超过1M时,就应该考虑是否应该用另外的替代方案。...借助于WCF这样的网络编程框架,然后结合protobuf这样的序列化框架,网络编程中技术基础设施层面的东西就给我们解决得差不多了,我们可以真正只关注于业务的实现。...protobuf的dotNet实现protobuf-net, 支持WCF的DataContact,WCF程序几乎不需要什么修改就能使用。...一个最小的可以工作的例子就是protobuf-net提供的(client, server),它使用的是共享契约的方式,通过WCF的配置方式,添加一个Endpoint-behavior,引用一个自定义的WCF

    78160

    WCF系统内置绑定列表与系统绑定所支持的功能

    WCF系统内置绑定列表 绑定 配置元素 说明 传输协议 编码格式 BasicHttpBinding 一个绑定,适用于与符合 WS-Basic Profile的Web...此绑定使用HTTP作为传输协议,并使用文本/XML作为默认的消息编码 HTTP/HTTPS Text,MTOM WSHttpBinding wsHttpBinding> 一个安全且可互操作的绑定,适合于非双工服务约定...SOAP媒介进行的通信 HTTP Text,MTOM WSFederationHttpBinding 一个安全且可互操作的绑定,支持WS联合协议并使联合中的组织可以高效地对用户进行身份验证和授权...并支持联合安全性 HTTP/HTTPS Text,MTOM NetTcpBinding 一个安全且经过优化的绑定,适用于WCF应用程序之间跨计算机的通信 TCP Binary...WCF各系统绑定所支持的功能 绑定名称 传输性安全 消息级安全 WS*兼容性 WS*事务支持 持久可靠消息传送 可靠会话 性能 请求/响应 单向 双工 basicHttpBing √ √ √

    65410

    2019-2-13-wcf入门(15)

    不同的绑定能够支持的wcf服务功能也不同。作为入门教程,这里主要介绍下有哪些常见的系统的绑定,以及其支持的功能和适用场景。...WSHttpBinding:一个安全且可互操作的绑定,适合于非双工服务约定,支持会话,可靠会话 NetNamedPipeBinding:一个安全、可靠且经过优化的绑定,适用于 WCF 应用程序之间本机的通信...,支持会话 NetMsmqBinding: 一个排队绑定,适用于 WCF 应用程序之间的跨计算机间的通信,支持会话, 非双工 NetTcpBinding: 一个安全且经过优化的绑定,适用于 WCF 应用程序之间跨计算机的通信...各层的绑定元素参见下图 另外也可以参见2019-2-12-wcf入门(14) - huangtengxiao的示例,其中使用自定义绑定模拟了一个不稳定的信道。 ?...小结 我们研究了绑定,其特点有 可以配置WCF服务可以实现的功能 参考链接: Windows Communication Foundation 绑定概述 - Microsoft Docs 2019-2-

    36130

    WCF配置文件与文件下载之坎坷路

    我之前还以为自己很懂了…… 一、WCF文件配置       为了不重蹈覆辙,这次争取把他整懂整透(当然这才是入门而已)。WCF很强大,它的强大跟它的配置有很大的关系,所以我首先要先把它的配置搞懂。...—也可以是自定义的binding元素,如. --> 配置节中,WCF的宿主程序可以通过配置文件找到这些定义的服务并发布这些服务。...然而,如果需要指定服务在执行方面的相关特性时,就必须定义服务的behavior。在WCF中,定义behavior就可以设置服务的运行时属性,甚至于通过自定义behavior插入一些自定义类型。...由于AddServiceEndpoint指定的是相对地址,所以WCF会根据绑定采用的传输协议在ServiceHost的基地址列表中寻找与之匹配的基地址,相对地址与基地址组合确定终结点的绝对地址。

    1.1K70

    快速入门系列--WCF--01基础概念

    当然,个人认为WCF已足够强大,并且其管道模式有极强的扩展性,可以通过自定义绑定满足绝大部分的需求。...从基础架构的角度上看,WCF可以分为服务模型层和信道层两个层次,服务模型层建立在信道层的基础是上,而信道层就是通过本节即将介绍的binding绑定创建,注意这儿的绑定与.NET很多地方的绑定概念不同(例如最常见的数据绑定...此外,也可以建立自定义的绑定,将框架提供的绑定元素进行重新组合,更有甚者,可以自定义绑定元素,不过这部分内容使用的场景非常的少。...最后,提供一个简单自定义绑定配置作为参考,其组合了传输、编码和安全3个绑定元素,前两者是必选项,且必须按照顺序构建。...最后,分享一个好玩的东西,就是在微信中可以搜索微软的"小冰"(刚截稿前对面的程序媛告诉我的,挺逗的,能挖掘你的内心哦),然后就可以在编码无聊、寂寞空虚时…你懂得,哈哈! 参考资料: [1]蒋金楠.

    1.1K100

    系统上线后WCF服务最近经常死掉的原因分析总结

    ,这种方式其实和上面那种大同小异,也是可以封装的,系统中暂且就使用的上面的方式。...,系统默认的链接数比较小   如果采用的netTcp绑定,而在windows7中,并发连接数默认是10。...如果要考虑到大量并发的情况下,伪随机数可能确实有一些问题,不过,这个应该也不难解决,自己另外写一个类似伪随机数的算法,只要保证生成指定范围内不重复的数字(或字符)就可以了。...总结  暂时这三种方式有效地防止了WCF服务的再次挂掉,至少最近几天服务一直在稳定的运行,没有太大的异常,很是让人欣慰。不知道针对WCF服务的处理是否还有其他方式,也让博客园的大牛们来指点一二吧。...作者:aehyok 出处:http://www.cnblogs.com/aehyok/ 感谢您的阅读,如果您对我的博客所讲述的内容有兴趣,那不妨点个推荐吧,谢谢支持:-O。

    1K41

    WCF中关于可靠会话的BUG!!

    对WCF的可靠会话编程有一定了解的人应该知道,我们可以使用 DeliveryRequirementsAttribute 可以指示WCF确认绑定提供服务或客户端实现所需的功能。...如果在从应用程序配置文件加载服务说明或在代码中以编程方式生成服务说明时检测到 DeliveryRequirementsAttribute 属性,则 WCF 会验证所配置的绑定,并支持该属性指定的所有功能...例如,您的服务可能要求绑定支持队列。...使用 DeliveryRequirementsAttribute 可以让WCF 确认是否满足下列要求: QueuedDeliveryRequirements 属性指定绑定必须满足的队列要求。...RequireOrderedDelivery 属性指示绑定是否必须支持有序消息传递。 TargetContract 属性指示要求所适用的类型。

    690110

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

    为了使读者对基于WCF的编程模型有一个直观的映像,我将带领读者一步一步地创建一个完整的WCF应用。本应用功能虽然简单,但它涵盖了一个完整WCF应用的基本结构。...WCF广泛采用基于自定义特性(Custom Attribtue)的声明式编程模式,我们通过在接口上应用System.ServiceModel.ServiceContractAttribute特性将一个接口定义成服务契约...WCF是一个基于消息的通信框架,采用基于终结点(Endpoint)的通信手段。终结点由地址(Address)、绑定(Binding)和契约(Contract)三要素组成,如图3所示。...WCF中具有一系列的系统定义绑定,比如BasicHttpBinding、WsHttpBinding、NetTcpBinding等,《WCF技术剖析(卷1)》第3章提供对绑定的详细介绍; 契约(Contract...松耦合是SOA的一个基本的特征,WCF应用中客户端和服务端的松耦合体现在客户端只须要了解WCF服务基本的描述,而无须知道具体的实现细节,就可以实现正常的服务调用。

    66321

    C# WCF服务

    1:什么是WCF。 WCF(Windows Communication Foundation)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台。...WCF是.Net框架中的技术,用来创建面向服务的应用程序,交换不同通信方案里的消息,以及执行服务操作生成的工作流。WCF应用程序由三部分组成 - WCF服务,WCF服务主机和WCF服务客户端。...即使对于WCF和ASMX而言,虽然两者都使用了SOAP,但基于WCF开发的应用程序,仍然可以直接与ASMX进行交互。 4:可扩展性。 WCF提供可扩展性,可以支持出新的web服务标准。...支持 (WsHttpBinding),而 TCP 亦支持 NetTcpBinding,NetPeerTcpBinding 等通信方式。...绑定:WCF支持多种类型,如 basicHttpBinding,WSDualHttpBinding,WSHttpBinding等绑定,而Web服务仅支持SOAP或XML。

    92520

    x.509证书在WCF中的应用(WebIIS篇)

    在上一篇"x.509证书在WCF中的应用(CS篇)"里,我们知道了如何在应用程序中,利用x.509证书来验证WCF的消息安全(没看过的朋友建议先看下,地址https://cloud.tencent.com...WCF宿主在IIS和普通应用程序里,原理虽然没什么不同,但在实际测试中发现,如果服务端与客户端都采用x.509证书来验证,服务端设置的自定义验证客户端证书的方法总是不起作用,无奈之下,只能在客户端采用了一种变相的方法来验证客户端证书...,在IE7里始终被认为不信任的证书(也许是我makecert的参数不对),导致在IE7里测试SSL时,总是显示"证书错误,导航已阻止"之类,所以在本例中,我们换一种方式,用windows2003自带的证书服务来申请..."  x509FindType="FindBySubjectName" storeName="My"/>这一句指wcf服务启动时,先验证服务端是否在LocalMachine这个位置有一个SubjectName...在互联网环境下,这可能会给客户端的使用带来麻烦,这时可以采用服务端用x.509方式验证,客户端用经典的用户名/密码的方式来验证,详情可参见http://www.cnblogs.com/fineboy/archive

    1.2K50

    WCF服务端运行时架构体系详解

    WCF的服务端架构体系又可以成为服务寄宿端架构体系。我们知道,对于一个基于某种类型的服务进行寄宿只需要使用到一个唯一的对象,那就是ServiceHost。...通过这段配置,三个基于WSHttpBinding的终结点被添加。...如果读者对于信道层的相关内容不是特别了解,请参考《WCF技术剖析(卷1)》第3章《绑定与信道栈》)。这两个信道监听器分别绑定到上述的两个监听地址进行请求消息的监听。...如果这6种消息筛选器依然不能满足你的需求,你可以通过继承MessageFilter这个抽象类创建你自定义的消息筛选器。...如果希望使用其他的值,可以通过自定义Behavior的形式覆盖掉默认的值。

    690100

    默认终结点

    对于最新版本的WCF编程人员来说,你也可以采用无配置的服务寄宿了,这主要得益于WCF提供的默认终结点机制。...从上面的例子我们可以看到,对于自动创建的四个默认终结点,如果采用基于HTTP协议的地址,则采用BasicHttpBinding作为其终结点绑定;如果地址是基于TCP协议的,作为终结点绑定的则为NetTcpBinding...从上面给出的关于这个方法的定义我们可以知道这个方法是一个公有方法,可以在具体的服务寄宿应用中被直接调用。...当这个方法被调用的时候,WCF会按照我们之前介绍的策略(为指定的每一个基地址和服务实现的契约的组合添加一个终结点,终结点绑定的类型决定于配置)进行默认终结点的添加。...方法的返回值表示添加的默认终结点集合。 当ServiceHost在开启的时候,WCF会检验其Description熟悉表示的服务描述是否具有至少一个终结点。

    77860

    WCF技术剖析之三十一: WCF事务编程

    至于WCF框架是否有能力对事物进行流转,按照怎样的协议进行流转,则是通过绑定实现的,现在我们首先看看怎样的绑定具有事务流转的能力。...既然TransactionFlowBindingElement实现了对事物的流转,那么我们就可以根据某个绑定对象的绑定元素集合中是否包含该元素判断绑定是否支持事务流转。...为此,我写了如下一个简单的方法,传入相应的Binding对象,打印出相应的绑定类型是否支持事务流转: 1: static void PrintTransactionFlowSupport(Binding...对于NetTcpBinding和NetNamedPipeBinding来说,我们可以通过属性TransactionFlow设置或者获取绑定是否支持事务流转的开关,并通过TransactionProtocol...创建支持事务流转的自定义绑定的时候,你需要做的仅仅是将TransactionFlowBindingElement添加到绑定元素集合中,并设置TransactionFlow和TransactionProtocol

    72960
    领券