什么是WCF:
Windows通信基础(Windows Communication Foundation,WCF)是基于Windows平台下开发和部署服务的软件开发包。WCF为服务提供了运行时环境,使得开发者能够将CLR类型公开为服务,又能够一CLR类型的方式使用服务。理论上讲,创建服务并不一定需要WCF,但实际上,使用WCF缺可以使得创建服务的任务事半功倍。WCF是微软对一系列产业标准定义的实现,包括服务交互、类型转换、封送以及各种协议的管理。
正因为如此,WCF才能够提供服务之间的互操作性。WCF还为开发者提供了大多数应用程序都需要的基础功能模块,提高了开发者的效率。WCF的第一个版本为服务开发提供了许多有用的功能,包括托管、服务实例管理、异步调用、可靠性、事务管理、离线队列调用以及安全性。同时,WCF还提供了设计优雅的可扩展模型,使开发人员能够丰富它的基础功能。事实上,WCF自身的实现正是利用了这样一种可扩展模型。
WCF的作用:
在win32中,应用程序是运行在进程(Process)的线程(Thread)中的,.Net平台出现之后,出现了AppDomain,其实就相当于在进程和线程之间又有了一层包装,类似于子进程的概念,在一个进程(或者应用程序域)中的对象能进行直接的访问和控制,但超出这个范围,便不能进行直接的访问和控制了,所以说进程(或者应用程序域)有一定的隔离作用,如果是分布在不同网络,不同操作系统上的不同进程,他们进行通讯的难度就更大,而分布式应用程序要求的就是将原本被隔离的作用域通过一定的契约联系起来,从而达成多个系统的沟通协作。
WCF使应用程序功能成为一个通过网络可以访问的服务。
WCF的由来:
在WCF之前,微软已经为了提供了一套完整的基于分布式的技术和产品,这些技术和产品使我们构建一个基于于分布式的互联系统变得异常简单。我们熟悉的技术包括Enterprise Service,.NET Remoting, XML Web Service, MSMQ等等,这些不同的技术和产品为相同的功能提供了不同的实现。对于技术的发展,我觉得“统一”是一个主线:为了让基于Web的开发可以采用我们基于Windows Form的事件驱动、基于控件开发模式,我们有了ASP.NET;为了使具有不同结构的数据(.NET
Object, XML, Relational Data etc)采用相同的操作方式,我们有了LINQ。同样,对于一个分布式系统的开发,将不同的分布式技术整合起来,提供一个统一的编程模型是绝对有必要的,WCF就是基于这样的一个目的发展起来的。
WCF 之 什么是WCF
原文:http://blog.csdn.net/ry513705618/article/details/44780869