WCF基础二

时间:2023-12-15 12:52:08

1:地址 。 WCf 的每一个服务都有一个唯一地址,地址包括传输协议和服务位置。

  • HTTP:采用http\https协议进行传输,默认端口为80.
  • TCP:采用ne.tcp协议进行传输,默认端口为808.
  • MSMQ: 采用net.msmq进行传输,使用Windows的MSMQ机制,必须指定队列名,如果是处理私有队列,则必须指定队列类型。
  • PEET NetWord:采用net.p2p进行传输,采用windows的对等网进行传输。
  • IPC,采用net.pipe进行传输。

2:绑定。绑定将通信模式与交互方式直接的组合进行规范,将这些通信特征合理地组合在一起。

  • 基本绑定(BasicHttpBinding),WCF默认的绑定方式。经常使用。将WCF 服务公开为WEB服务。
  • TCP绑定(NetTcpBinding)使用TCP协议通信,支持多种特性,包括可靠性、事务性、安全性及WCF之间通信的优化,缺点是客户端必须使用WCF。
  • IPC绑定(NetNamedPipeBinding)使用命名管道为同一机器的通信进行传输,支持的特性与TCP绑定类似,是性能和安全性最佳的绑定。
  • Web服务绑定(WSHttpBinding)使用HTTP或HTTPS进行传输。
  • WS双向绑定(WSDualHttpBinding)支持双向绑定。
  • MSMQ绑定(NetMsmqBinding)使用MSMQ进行传输。

常用绑定的传输协议与编码格式如下:

 名字   传输协议   编码格式   互操作性 
 BasicHttpBinding   HTTP/HTTPS   Text,MTOM   yes
 NetTcpBinding  TCP  Binary  no
 NetNamedPipeBinding   IPC  Binary   no
 WSHttpBinding   HTTP/HTTPS   Text,MTOM   yes
 WSDualHttpBinding   HTTP  Text,MTOM   no
 NetMsmqBinding   MSMQ   Binary   no

3:契约。WCF的所有服务都公开为契约,契约与平台无关,是描述服务功能的标准方式。

  • 服务契约:客户端能够执行的服务操作
  • 数据契约:交互数据类型
  • 错误契约:抛出的错误信息
  • 消息契约:允许服务与消息进行交互,不常使用,会增加代码量。

4:终结点。是服务进行通讯的唯一手段(方式)。终结点是用来发送和接收消息的构造,终结点是真正意义上的接口,它包含了一个对象接口所需的全部信息

5:元数据。服务的元数据描述服务的特征,外部实体需要了解这些特征以便与该服务进行通信。服务的元数据包括XML、架构文档(用于定义服务的数据协定)和WSDL文档(用于描述服务的方法)。

6:宿主。WCF服务类不能凭空存在,每个WCF服务类必须托管在某个宿主进程中。单个宿主进程可以托管多个服务,而相同的服务类型也可以托管在多个宿主进程中,如果服务与客户端驻留在相同的进程中,则称为进程内托管。

  • Web站点
  • Windows窗体应用程序
  • Windows服务
  • Windows激活服务(WAS)

7:代理。WCF不允许客户端直接与服务交互,客户端使用代理将调用转发给服务。(中介)