WCF - 概述


WCF 代表 Windows 通信基础。WCF 的基本特征是互操作性。它是微软用于构建面向服务的应用程序的最新技术之一。基于基于消息的通信的概念(其中统一表示 HTTP 请求),WCF 使得无论传输机制如何不同都可以拥有统一的 API。

WCF 于 2006 年作为 .NET 框架的一部分随 Windows Vista 首次发布,随后进行了多次更新。WCF 4.5 是目前广泛使用的最新版本。

WCF 应用程序由三个组件组成 -

  • WCF服务,
  • WCF 服务主机,以及
  • WCF 服务客户端。

WCF 平台也称为服务模型。

WCF 的基本概念

信息

这是一个通信单元,由除机身之外的多个部分组成。对于客户端和服务之间的所有类型的通信,都会发送和接收消息实例。

端点

它定义了要发送或接收消息的地址。它还指定了通信机制来描述如何发送消息以及定义消息集。端点的结构由以下部分组成 -

地址

地址指定接收消息的确切位置,并指定为统一资源标识符 (URI)。表示为scheme://domain[:port]/[path]。看看下面提到的地址 -

net.tcp://localhost:9000/ServiceA

这里,“net.tcp”是 TCP 协议的方案。域是“localhost”,可以是计算机名称或 Web 域,路径是“ServiceA”。

捆绑

它定义端点通信的方式。它由一些构成通信基础设施的绑定元素组成。例如,绑定规定了用于传输的协议(如 TCP、HTTP 等)、消息编码格式以及与安全性和可靠性相关的协议。

合约

它是指定端点向客户端公开哪些功能的操作集合。它通常由接口名称组成。

托管

从 WCF 的角度来看,托管是指 WCF 服务托管,可以通过许多可用选项来完成,例如自托管、IIS 托管和 WAS 托管。

元数据

这是 WCF 的一个重要概念,因为它促进了客户端应用程序和 WCF 服务之间的轻松交互。通常,WCF 服务的元数据在启用时会自动生成,这是通过检查服务及其端点来完成的。

WCF客户端

为了以方法的形式公开服务操作而创建的客户端应用程序称为 WCF 客户端。这可以由任何应用程序托管,甚至是进行服务托管的应用程序。

渠道

通道是客户端与服务进行通信的媒介。不同类型的通道堆叠在一起,称为通道堆栈。

肥皂

尽管 SOAP 被称为“简单对象访问协议”,但它并不是一种传输协议;而是一种传输协议。相反,它是一个由标头和正文部分组成的 XML 文档。

WCF的优点

  • 它可以与其他服务互操作。这与 .NET Remoting 形成鲜明对比,在 .NET Remoting 中客户端和服务都必须具有 .Net。

  • 与 ASMX(主动服务器方法)Web 服务相比,WCF 服务提供增强的可靠性和安全性。

  • 在 WCF 中实现安全模型和绑定更改不需要对编码进行重大更改。只需要进行一些配置更改即可满足限制。

  • WCF 具有内置的日志记录机制,而在其他技术中,必须进行必要的编码。

  • WCF 集成了 AJAX 并支持 JSON(JavaScript 对象表示法)。

  • 它提供可扩展性并支持即将推出的 Web 服务标准。

  • 它有一个非常强大的默认安全机制。