本文demo已上传至github:xinyuehtx/WCFdemo

这篇文章将会介绍binding


绑定

绑定是用于配置wcf如何进行endpoint的对象,其包括协议配置(如2019-2-12-wcf入门(14) - huangtengxiao用到的可靠会话配置),消息编码方式(如文本编码,二进制编码),底层传输方法(如tcp)。

不同的绑定能够支持的wcf服务功能也不同。作为入门教程,这里主要介绍下有哪些常见的系统的绑定,以及其支持的功能和适用场景。

  • BasicHttpBinding:适用于与符合 WS-Basic Profile 的 Web 服务(例如基于 ASP.NET Web 服务 (ASMX) 的服务)进行的通信。 此绑定使用 HTTP 作为传输协议,并使用文本/XML 作为默认的消息编码。
  • WSHttpBinding:一个安全且可互操作的绑定,适合于非双工服务约定,支持会话,可靠会话
  • NetNamedPipeBinding:一个安全、可靠且经过优化的绑定,适用于 WCF 应用程序之间本机的通信,支持会话
  • NetMsmqBinding: 一个排队绑定,适用于 WCF 应用程序之间的跨计算机间的通信,支持会话, 非双工
  • NetTcpBinding: 一个安全且经过优化的绑定,适用于 WCF 应用程序之间跨计算机的通信,支持会话,可靠会话

自定义绑定

一般来说系统提供的绑定已经能够满足大部分的需求。

当然有一些同学希望做一些定制化处理,所以需要自定义绑定

这里就需要使用CustomBinding类型,并且向内部添加各层的绑定元素。各层的绑定元素参见下图

另外也可以参见2019-2-12-wcf入门(14) - huangtengxiao的示例,其中使用自定义绑定模拟了一个不稳定的信道。

1550044446362

小结

我们研究了绑定,其特点有

  • 可以配置WCF服务可以实现的功能

参考链接:


本文会经常更新,请阅读原文: https://xinyuehtx.github.io/post/wcf%E5%85%A5%E9%97%A8-15.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名黄腾霄(包含链接: https://xinyuehtx.github.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系