WCF有很多值得学习的地方,这里我们主要介绍WCF选择绑定,包括介绍使用绑定等方面。为WCF选择绑定服务应该遵循图所示的决策活动图表。首先需要确认服务是否需要与非WCF的客户端交互。如果是,同时客户端又是旧的MSMQ客户端,选择MsmqIntegrationBinding绑定就能够使得服务通过MSMQ与该客户端实现互操作。如果服务需要与非WCF客户端交互,并且该客户端期望调用基本的Web服务协议(ASMX Web服务),那么选择BasicHttpBinding绑定就能够模拟

ASMX Web服务(即WSI-Basic Profile)公开WCF服务。缺点是我们无法使用大多数最新的WS-*协议的优势。但是,如果非WCF客户端能够识别这些标准,就应该选择其中一种 WS绑定,例如WSHttpBinding、WSFederationBinding或者WSDualHttpBinding。如果假定客户端为WCF客户端,同时需要支持脱机或断开状态下的交互,则可以选择NetMsmqBinding使用MSMQ传输消息。如果客户端需要联机通信,但是需要跨机器边界调用,则应该选择NetTcpBinding通过TCP协议进行通信。如果相同机器上的客户端同时又是服务,选择NetNamePipeBinding使用命名管道可以使性能达到最优化。如果基于额外的标准,例如回调(选择WSDualHttpBinding)或者联邦安全(选择 WSFederationBinding),则应对选择的绑定进行微调。

注意:即使超出了使用的目标场景,大多数绑定工作仍然良好。例如,我们可以使用TCP绑定实现相同机器甚至进程内的通信;我们也可以使用基本绑定实现Intranet中WCF对WCF的通信。然而,我们还是应尽量按照图WCF选择绑定。

使用绑定:每种绑定都提供了多种可配置的属性。绑定有三种工作模式。如果内建绑定符合开发者的需求,就可以直接使用它们。我们也可以对绑定的某些属性如事务传播、可靠性和安全性进行调整与配置,还可以定制自己的绑定。最常见的情况是使用已有的绑定,然后只对绑定的几个方面进行配置。应用程序开发者几乎不需要编写定制绑定,但这却是框架开发者可能需要做的工作。

转载于:https://www.cnblogs.com/Eagle0719/p/3510483.html

[转]WCF绑定选择相关推荐

  1. WCF 绑定(Binding)

    绑定包含多个绑定元素 ,它 们描述了所有绑定要求 .可以创建自定义绑定 ,也可以使用下表中的其中一个预定义绑定 : 不同的绑定支持不同的功能.以Ws开头的绑定独立于平台 ,支持 Web服务规范. 以 ...

  2. WCF绑定细节(2)——绑定,绑定元素

    绑定这块引出了很多细节.绑定解决了消息交换中的传输协议,传输,编码等问题.如果要公开WCF服务,就要公开终结点Endpoint,WCF服务信息交换就是Endpoint之间的信息交换.终结点三大元素:A ...

  3. WCF 绑定(Binding)

    作者:jiankunking 出处:http://blog.csdn.net/jiankunking 绑定包含多个绑定元素 ,它 们描述了所有绑定要求 .可以创建自定义绑定 ,也可以使用下表中的其中一 ...

  4. WCF面向服务应用程序系列之十:绑定-标准绑定(HTTP/TCP)

    上一章我们介绍了WCF绑定的自定义绑定,这一章我们通过一个DEMO来介绍如何创建一个基于HTTP或者TCP协议的程序.在绑定时,我们要指定WCF的地址:要为不在IIS里承接的服务指定基地址:要为所有相 ...

  5. 日积(Running)月累(ZSSURE):WCF学习之“通过事件绑定控制WinForm宿主程序主界面控件”

    背景: WCF服务需要寄宿到相应的可运行进程中执行,常见的有四种寄宿,分别是控制台程序.WinForm程序.IIS和Windows服务.之前学习老A博客和<WCF全面解析>时最常用到的是控 ...

  6. WCF4.0进阶系列--第四章 保护企业内部的WCF服务(转)

    http://www.cnblogs.com/yang_sy/archive/2011/05/24/2054834.html [摘要] 安全是任何系统至关重要的一个方面,尤其当该系统由分布式的程序和服 ...

  7. .NET Core调用WCF的最佳实践

    现在.NET Core貌似很火,与其他.NET开发者交流不说上几句.NET Core都感觉自己落伍了一样.但是冷静背后我们要也看到.NET Core目前还有太多不足,别的不多说,与自家的服务框架WCF ...

  8. Silverlight+WCF+ArcObjects获取地图服务图层列表的实现

    很久没有写博客了,最近一直忙考试,只是被悲催的数学物理方程真的把我给伤着了..... 忙完了考试,又开始了导师的项目,然而发现项目的很多东西,用原始的ArcGIS Api for Silverligh ...

  9. WCF自定义扩展,以实现aop!

    引用地址:https://msdn.microsoft.com/zh-cn/magazine/cc163302.aspx  使用自定义行为扩展 WCF Aaron Skonnard 代码下载位置: S ...

最新文章

  1. java 多条件比较_Java 多条件复杂排序小结
  2. 教你轻松恢复Linux口令
  3. OS_CORE.C(9)
  4. python函数中把列表(list)当参数时的入坑与出坑
  5. chrome 历史版本_2020 年最后一次更新,Chrome 性能大提升的新版本来了
  6. hdu5446(2015长春网络赛J题)
  7. 裴蜀定理(note)
  8. ctype.h,ctype.c 结构分析 \linux-1.0\linux\include\linux\ctype
  9. 大项目之网上书城(十二)——完成啦
  10. leetcode题解108-将有序数组转换为二叉排序树
  11. 老题新理解-在话winform之间的窗体传值
  12. linux_负载分析之LoadAverage
  13. struts2学习笔记(一) MVC模式
  14. HDU1873 看病要排队【模拟+优先队列】
  15. 热烈庆祝博客排名进入前一万(8448)
  16. leetcode53
  17. 联想y7000笔记本触摸板开启快捷键_关闭笔记本触摸板四种方法【图文教程】
  18. go IO操作-文件读
  19. Labview实现信号频域分析
  20. 博达路由器如何配置互联网ip_博达路由器操作命令

热门文章

  1. 耳目一新的在线答疑服务背后的核心技术
  2. VS开发中的代码编写小技巧——避免重复代码编写的几种方法
  3. 胜过对手,先从微笑开始
  4. filewriter判断是否关闭_各种仪表故障判断,看完你也可以成为仪表维修专家
  5. apache服务 功能错误_如何使用Apache OpenWhisk开发功能即服务
  6. java 补丁差异_差异和补丁简介
  7. dhh basecamp_使Basecamp的薪酬透明化保留了人才
  8. 开源软件许可是什么_什么是开源? 许可,历史等
  9. 登录drupal管理员_天气公司依靠Drupal来管理内容
  10. openstack 功能_为什么我们在OpenStack中冻结功能