WCF经过长时间的发展,很多用户都很了解WCF服务了,这里我发表一下个人理解,和大家讨论讨论。Windows通讯基础(简称为WCF)是一种SDK,用于让你使用典型的CLR编程结构(例如用于发布和消费服务的类和接口等)来构建Windows面向服务的应用程序。WCF的编程模型是声明性的并且大部分是属性驱动的。WCF为通讯服务提供了一种运行时刻环境,使你能够把CLR类型暴露为服务并且以CLR类型来消费服务。
#T#尽管在理论上你可以不用WCF来构建服务;但是,在实践中,WCF能够显著地简化这一任务。WCF是微软的一组工业标准的实现,该标准定义了服务交互、类型转化、编排和多种协议的管理。因此,WCF提供了服务间的互操作性并且提高了开发效率(包括几乎任何应用程序所要求实现的基本的常规的繁重任务)。本文将描述WCF块及其架构的基本概念和构建,从而使你能够构建简单的服务。
什么是WCF服务?
一个服务是一个暴露给外界的功能单元。从编程模型的发展历史来说,它经历了从函数到对象再到组件***到服务的过程;而WCF服务正代表了下一代的革命性的Windows编程模型。面向服务(SO)是一组原则的抽象集和针对于构建SO应用程序的***实践,但这其中的一大部分已经超出了本文的范围。
一个面向服务的应用程序(SOA)把服务聚合成单个逻辑的应用程序(见图1),这类似于一个面向组件的应用程序聚合组件或一个面向对象的应用程序聚合对象的方式。服务可以是本地的也可以是远程的,可以由多种团队使用任何技术开发而成,它们可以被独立地进行版本化管理,甚至可以在不同的时间进度上执行。在一个服务内部,你可以使用例如语言,技术,平台,版本和框架等概念;然而,在服务之间,只允许使用规定的通讯模式。
图1:一个面向服务的应用程序的框架。
客户端通过发送和接收消息与服务进行交互。消息可以从客户端直接或经中介传输到服务。在WCF服务中,所有的消息都是SOAP消息。注意,这些消息独立于传输协议——不象Web服务,WCF服务可以通过多种传输协议进行通讯,而不仅是HTTP。