WCF 服务的ABC之绑定(六)

绑定 Binding

绑定是开发人员控制WCF程序与其他消息交互的主要手段。从功能上看,绑定创建了通道工厂惑通道侦听器的堆栈对象。绑定直接惑间接创建的对象是WCF实现各种消息功能(例如,传输、安全性、事务性)的主要方式。一个绑定封装了诸如传输协议、消息编码、通信模式、可靠性、安全性、事务传播,以及互操作性等相关选项,使得它们保持一致。

五种常用绑定

基本绑定

  • 对应BasicHttpBinding类
  • 基本绑定能够将WCF服务公开为传统的ASMX Web服务,使得原客户端能够与新的服务协作

TCP绑定

  • 对于NetTcpBinding类
  • TCP绑定使用TCP协议实现在Intranet中跨机器的通信,支持多种特性,包括可靠性、事务性、安全性,以及WCF之间通信的优化,前提是它要求客户端与服务都必须使用WCF

IPC绑定

  • 对应NetNamePipeBingding类
  • 他使用命名管道为同一机器通信进行传输
  • 这种绑定最安全,因为它不是接受来自机器外的调用
  • 它是性能最佳的绑定,因为IPC协议比TCP协议更加简单

Web服务(WS)绑定

  • 对应于WSHttpBinding类
  • WS绑定使用Http和Https进?行传输,为基于Intranet的通信提供多种特性(如可靠性、事务性和安全性),这些特性均遵循WS-*标准
  • 该绑定用来与支持WS-*标准的系统进行互操作

MSMQ绑定

  • 对应与NetMsmqBinding类
  • 使用MSMQ进行传输,用于支持断开的队列调用
  • ·WCF标准绑定

格式与编码

名称

传输协议

编码

互操作性

BasicHttpBinding

HTTP/HTTPS

Text

+

NetTcpBinding

TCP

Binary

-

NetNamedPipeBinding

IPC

Binary

-

WSHttpBinding

HTTP/HTTPS

Text,MTOM

+

NetMsmqBinding

MSMQ

Binary

-

  • 文本编码通常允许WCF服务(或客户端)能够通过HTTP协议与其他服务(或客户端)通信,而不用考虑它所使用的技术及通信传输的范围
  • 二进制编码格式通过TCP、IPC或MSMQ可以获得最佳的性能,但它是以牺牲或操作性为代价,只支持WCF到WCF的通信

几种常见的绑定类型

具体绑定规则根据具体需求而定。

Binding名称

Configuration Element

描述

BasicHttpBinding

basicHttpBinding

一个指定用符合基本网络服务规范通讯的binding,它用http进行传输,数据格式为text/xml

WSHttpBinding

wsHttpBinding

一个安全的通用的binding,但它不能在deplex中使用

WSDualHttpBinding

wsDualHttpBinding

一个安全的通用的binding,但能在deplex中使用

WSFederationHttpBinding

wsFederationHttpBinding

一个安全的通用的支持WSF的binding,能对用户进行验证和授权

NetTcpBinding

netTcpBinding

在wcf应用程序中最适合跨机器进行安全通讯的binding

NetNamedPipeBinding

netNamedPipeBinding

在wcf应用程序中最适合本机进行安全通讯的binding

NetMsmqBinding

netMsmqBinding

在wcf应用程序中最适合跨机器进行安全通讯的binding,并且支持排队

NetPeerTcpBinding

netPeerTcpBinding

一个支持安全的,多机交互的binding

MsmqIntegrationBinding

msmqIntegrationBinding

一个用于wcf与现有msmq程序进行安全通讯的binding

 

 

 

 

 

上一篇:windows c/c++ 代码运行时间,毫秒级


下一篇:wcf系列学习5天速成——第五天 服务托管