WCF基础

服务是整个分布式网络的核心,而WCF是微软平台上部署和使用服务的最简单的方式

1、地址

Address是Endpoint的网络地址,它标记了消息发送的目的地


2、绑定

       每种绑定对应不同的传输协议、消息编码格式和版本以及安全、可靠性和事务模式

绑定类名称

传输

消息编码

消息版本

安全模式

可靠消息传送

事务流(默认情况下禁用)

BasicHttpBinding

HTTP

文本

SOAP 1.1

不支持

不支持

WSHttpBinding

HTTP

文本

SOAP 1.2 WS-Addressing 1.0

消息

禁用

WS-AtomicTransactions

WSDualHttpBinding

HTTP

文本

SOAP 1.2 WS-Addressing 1.0

消息

启用

WS-AtomicTransactions

WSFederationHttpBinding

HTTP

文本

SOAP 1.2 WS-Addressing 1.0

消息

禁用

WS-AtomicTransactions

NetTcpBinding

TCP

二进制

SOAP 1.2

传输

禁用

OleTransactions

NetPeerTcpBinding

P2P

二进制

SOAP 1.2

传输

不支持

不支持

NetNamedPipesBinding

命名管道

二进制

SOAP 1.2

传输

不支持

OleTransactions

NetMsmqBinding

MSMQ

二进制

SOAP 1.2

消息

不支持

不支持

MsmqIntegrationBinding

MSMQ

不支持(使用 WCF 之前的序列化格式)

不支持

传输

不支持

不支持

CustomBinding

您决定

您决定

您决定

您决定

您决定

您决定


3、契约

WCF 的契约包括服务契约、数据契约和消息契约(特别的,还包括了错误契约,用于异常的处理)

服务契约为面向服务应用程序的核心,通过它可以定义服务。数据契约则为服务所要传递的数据。由于服务的调用需要跨进程或机器进行通信,就需要服务数据必须能够被序列化和反序列化

消息契约,则可以将服务数据定义为消息,包括XML文本格式、MTOM(消息传输优化机制)格式和二进制格式

4、信道

WCF通信过程中的信道,即管道,就是消息在哪里发送/接受的。很多信道放到一起组成信道栈,信道栈是处理消息的分层通信展,相当于TCP/IP七层协议

信道就是WCF应用程序接收和发送所有信息的通道。它负责在一个持续的方式中准备并传输消息。信道是为传输,协议和消息交换定义的。信道被放到一起来创建信道栈。信道栈是处理消息的分层通信栈。比如,一个信道栈可以由一个TCP传输信道和一个事务协议信道组成。这样的一个信道栈允许使用在网络中的客户端和服务端之间使用TCP协议和事务流转来发送/接收消息

WCF支持不同的消息交换模式:单向,双工和请求-回复

5、安全

身份验证包括:

                 1. 无身份验证:         所有的调用者都能访问服务

                 2.Windows身份验证:Kerberos(有域服务器)和NTLM(工作组)

                 3.用户名与密码:       客户端向服务端发送一个用户名和密码,服务端通过一些凭证库来验证

                 4.X509证书:           客户端包含一个证书,服务端预先知道这些证书,当客户端发送请求时,服务端会验证客户端的证书

                 5.定制机制:            允许开发者任意使用一种身份验证机制

                 6.发布口令:             调用者与服务同事依赖一个安全口令



你可能感兴趣的:(优化,网络,tcp,服务器,SOAP,WCF)