WCF - 概述

WCF代表Windows Communication Foundation. WCF的基本特征是互操作性.它是Microsoft的最新技术之一,用于构建面向服务的应用程序.基于基于消息的通信的概念,其中HTTP请求被统一表示,WCF使得可以拥有统一的API而不管各种传输机制.

WCF被发布用于2006年第一次作为Windows Vista的.NET框架的一部分,然后多次更新. WCF 4.5是现在广泛使用的最新版本.

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

  • WCF服务,

  • WCF服务主机,

  • WCF服务客户端.

WCF平台也称为服务模型.

WCF的基本概念

消息

这是一个通信单元,由身体以外的几个部分组成.客户端和服务之间的所有类型的通信都会发送和接收消息实例.

端点

它定义消息的地址将被发送或接收.它还指定了用于描述消息如何发送以及定义消息集的通信机制.端点的结构包括以下部分 :

地址

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

net.tcp://localhost:9000/ServiceA

这里,'net.tcp'是TCP协议的方案.域名为"localhost",可以是计算机或网络域名,路径为"ServiceA".

绑定

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

合同

它是一组操作,指定端点向客户端公开的功能.它通常由一个接口名称组成.

托管

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

元数据

这是WCF的一个重要概念,因为它有助于轻松实现客户端应用程序和WCF服务.通常,启用时会自动生成WCF服务的元数据,这可以通过检查服务及其端点来完成.

WCF客户端

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

频道

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

SOAP

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

WCF的优点

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

  • WCF服务提供增强的可靠性和安全性与ASMX(Active Server Methods)Web服务进行比较.

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

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

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

  • 它为即将推出的Web服务标准提供了可扩展性和支持.

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