- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《WCF高级进阶》 第十三章 可靠会话与可靠消息传递 章节内容 理解WCF的可靠会话 掌握可靠会话的绑定协议 理解消息队列(MSMQ) 掌握WCF队列编程 一、WCF中可信赖会话(ReliableSession) WCF的可信赖会话在绑定层保证消息只会被传输一次,并且保证消息之间的顺序。当使用TCP(Transmission Control Protocol,传输控制协议)通信时,协议本身保证了可靠性。然而,它只在两点之间的网络包这个层面提供了这样的保证。WCF的可信赖会话特性保证了在传输过程中消息不会丢失、重复或错位。这种保证是消息层面的,而且适用于任何数目节点间的通信。另外,使用可信赖会话时,WCF会重连掉线的连接,在重连失败时还会释放会话占用的相关资源。可信赖会话还会通过调整消息的发送频率来缓解网络拥挤。 可靠会话主要解决以下几个问题: 确保消息可靠交付 确保消息单一性 确保消息有序性 二、可靠性传输与网络协议基础 三、WCF绑定协议的可靠性 四、设置可靠会话 1、服务端指定绑定协议bindingsreliableSession 2、端点设置自定义的bindingConfiguration方案 3、客户端的bindings也需要指定reliableSession 五、消息队列(MSMQ)3-1 MSMQ全称MicroSoft Message Queue,微软消息队列,是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间中的任一位置。 它的实现原理是:消息的发送者把自己想要发送的信息放入一个容器中(我们称之为Message),然后把它保存至一个系统公用空间的消息队列(Message Queue)中;本地或者是异地的消息接收程序再从该队列中取出发给它的消息进行处理. 六、消息队列(MSMQ)3-2 消息队列不同于传统的请求响应模式,它是客户端把消息发送给请求消息队列,服务可以稍后对消息进行处理并把处理结果发送给响应队列,而后客户端从响应队列读取服务处理后的消息。而且使用消息队列可以使客户端实现脱机工作。 脱机应用程序必须有本地缓存数据,要采用异步通讯而且要把消息持久化,在与服务器联机后将消息发送出去。WCF是使NetMsmqBinding来支持消息队列的,传输消息不是通过TCP或HTTP等,而是通过微软消息队列(MSMQ),这是Windows组件需要安装。 六、消息队列(MSMQ)3-3 示例 本课程版权归北风网所有 欢迎访问我们的官方网站 北风网高级讲师:哈里 OSI参考模型 ISO2110,IEEE802。IEEE802.2 以二进制数据形式在物理媒体上传输数据 物理层 SLIP,CSLIP,PPP,ARP,RARP,MTU 传输有地址的帧以及错误检测功能 数据链路层 IP,ICMP,RIP,OSPF,BGP,IGMP 为数据包选择路由 网络层 TCP,UDP 提供端对端的接口 传输层 没有协议 解除或建立与别的接点的联系 会话层 没有协议 数据格式化,代码转换,数据加密 表示层 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 文件传输,电子邮件,文件服务,虚拟终端 应用层 TCP/IP协议族 功能 OSI中的层 绑定协议名称?? 支持可靠性?? 默认可靠性???? 支持有序传递 ??? 默认有序传递 BasicHttpBinding????????????? ??No?????????????? N/A?????????????????? ?No?? ????????????? ?N/A NetTcpBinding?? ??????????????? Yes???????????????Off??????????????????? Yes? ?????????????? ?On NetPeerTcpBinding??????????????No? ????????????? N/A?????????????????? No?? ?????????????? N/A NetNamedPipeBinding???????? ?No? ????????????? N/A(On)?????????? Yes???????????????? ?N/A (On) WSHttpBinding? ??????????? ?? ?Yes???????????????Off??????????????????? Yes? ????????? ????? On WSFederationHttpBinding?? Yes?????????????
文档评论(0)