Web Service和WCF技术都提供了应用程序与应用程序之间的通信。它们都是基于soap消息在客户端和服务端之间进行通信,由于soap消息是一种xml格式,因此传输的数据格式为XML。每次客户端向服务端请求数据时,客户端的服务代理,都会将请求消息转化为soap消息进行传输,而服务端在返回数据时也会将数据转化成soap消息传输。两者提供的服务都可以用WSDL(web service description language)来描述。对于客户端,它们都可以以添加引用的方式来生成服务的代理类,即向服务器请求wsdl文档,然后根据wsdl文档生成服务代理(前提是服务端允许客户端获取wsdl文档,此处可在webconfig中进行配置)。
总体来讲,WCF可看作是Web Service的一个升级版,所以不应该说是两者的区别,而应该说WCF相较于Web Service的先进性。其先进性主要有两点:(1)WCF支持的网络传输协议要明显多于Web Service,WCF支持的网络协议包括http、tcp、命名管道、MSMQ等,而web service只支持http协议;(2)WCF的服务宿主要比Web service丰富,WCF程序可寄宿在IIS、WAS、控制台应用程序、Windows客户端应用程序、Windows服务等,而web service则只能寄宿在IIS上。
就目前而言,作为数据服务,Web Service的使用已逐渐被WCF取代,因为Web Service所能实现的功能,WCF基本都能实现,而且WCF在网络协议和服务宿主上还提供了更多的可选择性。