WCF学习笔记(六)自定义绑定和C/S之间传输流的绑定
来源:互联网 发布:刘瑞阳 人工智能 编辑:程序博客网 时间:2024/05/03 01:42
1.自定义绑定
<system.serviceModel>
<services>
<service name="WCFBinding.HelloWcf" behaviorConfiguration="">
<endpoint address="" binding="customBiding" contract="WCFBinding.IHelloWcfService"></endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"></endpoint>
<host>
<baseAddresses>
<add baseAddress="http://www.yoyo.com"/>
</baseAddresses>
</host>
</service>
</services>
<bindings>
<customBinding>
<binding name="customBiding">
<transactionFlow transactionProtocol="WSAtomicTransactionOctober2004"/>
<!--
1.InActivityTimeout
文档中的说明是:获取或设置服务在关闭之前保持非活动状态的时间间隔。
说白了一点呢,就是如果服务停留多长时间没有工作,那我们就关闭他(嘿嘿,有点像公司对待员工一样,偶 尔休息一下子,不干活还行,时间长了,老板会炒你鱿鱼的哦!)
2.Ordered
文档中说明为:获取或设置一个值,该值指示消息传递是否必须保持与消息发送一致的顺序。
任何一方,无论是客户端发送请求消息(Request Message),还是服务端发送相应消息(Response Message)。发送出来的消息都有先后次序,而接收方在接收这些消息的时候,有时候会出现错位的现象,有的消息可能后发先至,而有的可能先发后至,这就影响了通讯双方正常的交互。产生这样现象的主要的原因有两点:
1)未使用可靠连接协议,使得在传输层中出现类似现象
2)虽然试用了可靠连接协议,但在发送端或者接收端的通道中(Channel)发送或者接收有顺序问题
tcp协议用于解决第一个问题,而ReliabelSession的Ordered正可以解决第二个问题
-->
<reliableSession ordered="true"/>
<binaryMessageEncoding />
<httpTransport />
</binding>
</customBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="servicebehavior">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
2.服务器传输流道客户端
<services>
<service name="WCFBinding.HelloWcf" behaviorConfiguration="serviceBehavior">
<endpoint address="HelloWcf1" contract="MediaManagerService.IHelloWcf1" binding="basicHttpBinding" />
<endpoint address="HelloWcf2" contract="MediaManagerService.IHelloWcf2" binding="basicHttpBinding" bindingConfiguration="basicHttpStreaming"/>
<endpoint address="HelloWcf2" contract="MediaManagerService.IHelloWcf2" binding="netTcpBinding" bindingConfiguration="netTcpStreaming"/>
<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080"/>
<add baseAddress="net.tcp://localhost:8090"/>
</baseAddresses>
</host>
</service>
</services>
<bindings>
<netTcpBinding>
<binding name="netTcpStreaming" transferMode="StreamedRequest" maxReceivedMessageSize="500000" maxBufferSize="1024" sendTimeout="00:00:30" >
</binding>
</netTcpBinding>
<basicHttpBinding>
<binding name="basicHttpStreaming" messageEncoding="Mtom" maxReceivedMessageSize="500000" transferMode="Streamed">
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="serviceBehavior">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
- WCF学习笔记(六)自定义绑定和C/S之间传输流的绑定
- [WCF 学习笔记] 9. 端点绑定
- WCF 学习笔记之绑定(Binding)
- SpringMVC 学习笔记(六) 数据绑定和JSR校验
- 深入学习WCF-绑定
- WCF学习笔记(七)WCF编程方式实现协议和终结点绑定
- WCF学习笔记(九):WCF绑定使用netMsmqBinding消息队列
- MVC学习笔记六:模型绑定【上】
- MVC学习笔记六:模型绑定【下】
- WCF绑定的选择
- WCF绑定的选择
- C++11 学习笔记 std::function和bind绑定器
- WCF绑定
- WCF揭秘——自定义绑定
- WCF揭秘——自定义绑定
- Objective-C 动态绑定 学习笔记
- 学习笔记之 java的动态绑定与静态绑定
- Asp.Net2.0学习笔记(六):Asp.Net2.0的数据绑定
- ?【内核修炼】Linux启动过程流程简析
- JSTL:表达式语言(四)
- js 手机号
- 以后就存这吧
- 显卡由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备。 (代码 19)
- WCF学习笔记(六)自定义绑定和C/S之间传输流的绑定
- JSTL:表达式语言(五)
- c/c++ 有趣的程序
- JavaEE程序员必读图书大推荐
- JSTL:表达式语言(学习资料)
- asp.net MVC 2 中的重用: Master pages、Partials 、Child actions以及MVC 控件
- 抓紧时间学习
- 世界排名前十的电影
- 教你如何做人做事