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 服务标准。
它有一个非常强大的默认安全机制。