WCF基础二

本文深入探讨了WCF服务的通信机制,包括地址、绑定、契约、终结点、元数据、宿主和代理的概念。详细讲解了各种绑定方式的特点和适用场景,如BasicHttpBinding、NetTcpBinding和NetNamedPipeBinding,以及服务契约、数据契约和错误契约的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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不允许客户端直接与服务交互,客户端使用代理将调用转发给服务。(中介)

转载于:https://www.cnblogs.com/hehuarong/p/6890003.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值