📅  最后修改于: 2020-11-19 09:18:13             🧑  作者: Mango
WCF代表Windows Communication Foundation。 WCF的基本功能是互操作性。它是用于构建面向服务的应用程序的Microsoft最新技术之一。基于统一表示HTTP请求的基于消息的通信的概念,WCF使得有可能具有统一的API,而与各种传输机制无关。
WCF作为Windows Vista的.NET框架的一部分于2006年首次发布,然后进行了多次更新。 WCF 4.5是现已广泛使用的最新版本。
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客户端。它可以由任何应用程序托管,甚至可以进行服务托管的应用程序。
渠道是客户与服务进行通信的媒介。不同类型的通道会堆叠在一起,称为通道堆栈。
尽管被称为“简单对象访问协议”,但是SOAP并不是一种传输协议。相反,它是一个包含标头和正文部分的XML文档。
它可以与其他服务互操作。这与.NET Remoting形成鲜明对比,后者的客户端和服务都必须具有.Net。
与ASMX(活动服务器方法)Web服务相比,WCF服务提供了增强的可靠性和安全性。
在WCF中实现安全模型和绑定更改不需要对编码进行重大更改。只需几个配置更改即可满足约束条件。
WCF具有内置的日志记录机制,而在其他技术中,必须进行必要的编码。
WCF集成了AJAX并支持JSON(JavaScript对象表示法)。
它为即将到来的Web服务标准提供可伸缩性和支持。
它具有非常强大的默认安全机制。