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服务标准提供了可扩展性和支持.
它有一个非常强大的默认安全机制.