WCF - 概述



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

WCF 最初于 2006 年作为 .NET Framework 的一部分与 Windows Vista 一起发布,之后经过多次更新。WCF 4.5 是最新版本,现在被广泛使用。

一个 WCF 应用程序包含三个组件:

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

WCF 平台也称为服务模型。

WCF 的基本概念

消息

这是通信单元,除了主体之外还包含几个部分。消息实例在客户端和服务之间所有类型的通信中发送和接收。

终结点

它定义了发送或接收消息的地址。它还指定通信机制以描述消息将如何发送,以及定义消息集。终结点的结构包含以下部分:

地址

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

net.tcp://:9000/ServiceA

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

绑定

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

契约

它是操作的集合,指定了终结点向客户端公开的功能。它通常包含接口名称。

托管

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

元数据

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

WCF 客户端

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

通道

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

SOAP

虽然被称为“简单对象访问协议”,但 SOAP 不是传输协议;相反,它是一个包含标题和正文部分的 XML 文档。

WCF 的优点

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

  • 与 ASMX(Active Server Methods)Web 服务相比,WCF 服务提供了更高的可靠性和安全性。

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

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

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

  • 它提供可扩展性和对未来 Web 服务标准的支持。

  • 它具有一个极其强大的默认安全机制。

广告

© . All rights reserved.