WCF编程系列(三)地址与绑定- WCF - 拼吾爱程序人生- {zx1}编程技术的 ...
上一篇:

地址

    地址指定了接收消息的位置,WCF中地址以统一资源标识符(URI)的形式指定。URI由通讯协议和位置路径两部分组成,如示例一中的:
http://localhost:8000/
表明通讯协议为 http,位置是localhost(本机)的8000端口。

    注意上述提到的消息是指一个独立的数据单元,一般由消息正文和消息头组成,而服务端与客户端的交互都是通过消息来进行的。

    WCF中支持的传输协议包括HTTP、TCP、Peer network(对等网)、IPC(基于命名管道的内部进程通信)以及MSMQ(微软消息队列),每个协议对应一个地址类型:

    HTTP地址
        即使用HTTP协议进行传输(包括https安全传输协议)。其地址形式为
        http://localhost:8000/
        如果地址中为制定端口号,则默认端口为80

    TCP地址
        使用TCP协议进行传输,其形式为:
        net.tcp://localhost:8000/

    IPC地址
        使用net.pipe进行传输,其形式为:
        net.pipe://localhost/

    MSMQ地址
        使用Microsoft Message Queue机制进行传输,其形式为:
        net.msmq://localhost/

    对等网地址
        使用net.p2p进行传输,其形式为:
        net.p2p://localhost/

绑定

    绑定定义终结点与外界进行通讯的方式,它由一组称为绑定元素的要素构造而成,绑定最起码应该定义传输协议(如http、TCP等)和所使用的编码方式(如文本或二进制等)

绑定元素

    绑定元素表示绑定的特定部分,如传输协议、编码、基础结构级协议(如 WS-ReliableMessaging)的实现以及通信堆栈的其他任何要素。

预定义绑定

    即WCF基库中提供的绑定。 这些绑定是针对特定方案进行优化的绑定元素的集合。 例如,WSHttpBinding 是为了与实现各种 WS* 规范的服务进行互操作而专门设计的。 通过仅提供那些可以正确应用于特定方案的选项,这些预定义的绑定可以节省时间。 如果预定义的绑定不能满足您的要求,则可以创建您自己的自定义绑定。示例一中我们使用了basicHttpBinding预定义绑定。

下面列表包含了当前WCF基库中预定义的所有绑定
绑定配置元素说明传输协议编码格式
BasicHttpBinding<basicHttpBinding>一个绑定,适用于与符合 WS-Basic Profile 的 Web 服务(例如基于 ASP.NET Web 服务 (ASMX) 的服务)进行的通信。 此绑定使用 HTTP 作为传输协议,并使用文本/XML 作为默认的消息编码。HTTP/HTTPSText,MTOM
WSHttpBinding<wsHttpBinding>一个安全且可互操作的绑定,适合于非双工服务约定。HTTP/HTTPSText,MTOM
WS2007HttpBinding<ws2007HttpBinding>一个安全且可互操作的绑定,可为 Security, ReliableSession 的正确版本和 TransactionFlow 绑定元素提供支持。HTTP/HTTPSText,MTOM
WSDualHttpBinding<wsDualHttpBinding>一个安全且可互操作的绑定,适用于双工服务协定或通过 SOAP 媒介进行的通信。HTTPText,MTOM
WSFederationHttpBinding<wsFederationHttpBinding>一个安全且可互操作的绑定,支持 WS 联合协议并使联合中的组织可以高效地对用户进行身份验证和授权。HTTP/HTTPSText,MTOM
WS2007FederationHttpBinding<ws2007FederationHttpBinding>一个安全且可互操作的绑定,它派生自 WS2007HttpBinding 并支持联合安全性。HTTP/HTTPSText,MTOM
NetTcpBinding<netTcpBinding>一个安全且经过优化的绑定,适用于 WCF 应用程序之间跨计算机的通信。TCPBinary
NetNamedPipeBinding<netNamedPipeBinding>一个安全、可靠且经过优化的绑定,适用于 WCF 应用程序之间计算机上的通信。IPCBinary
NetMsmqBinding<netMsmqBinding>一个排队绑定,适用于 WCF 应用程序之间跨计算机的通信。MSMQBinary
NetPeerTcpBinding<netPeerTcpBinding>一个支持多计算机安全通信的绑定。P2PBinary
MsmqIntegrationBinding<msmqIntegrationBinding>一个绑定,适用于 WCF 应用程序和现有消息队列(也称为 MSMQ)应用程序之间跨计算机的通信。MSMQBinary

显然绑定与地址是对应的:比如NetTcpBinding绑定只能使用TCP地址。而上表中所有WS开始的绑定都支持TEXT的SOAP消息编码,这表明选择这些绑定的服务,可以由其他技术和平台使用,如Java等。而其他采用二进制SOAP编码的绑定则只支持WCF到WCF的交互。
郑重声明:资讯 【WCF编程系列(三)地址与绑定- WCF - 拼吾爱程序人生- {zx1}编程技术的 ...】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——