Code Copied

WCF SOAP客户端和REST客户端调用

通常有2种形式的客户端调用WCF服务:“HTML客户端”和“C#客户端”,这两种“客户端”的说法并不准确,确切的说应该是REST客户端和SOAP客户端。 HTML客户端通过JavaScript向WCF服务的操作发起请求获取资源(XML,JSON等数据),HTML客户端又有2种调用类型:同域和跨域,其中跨域调用有两种方式实现。 C#客户端通过调用本地代理,然后代理再去调用服务端的WCF服务实现调用。

SOAP vs. REST

SOAP vs. REST是一个伪命题,对它们进行直接比较并不恰当,因为SOAP(简单对象访问协议)是一种协议,而REST(表述性状态转移)是一种架构风格。 协议和架构是两种完全不同层面的东西,协议是计算机网络中信息交换的规则、标准和约定,其偏向于技术细节和底层;架构则是在系统层面的基准规范、通用性和原则,其偏向于抽象和顶层。 一种协议可以用在不同的架构中,在架构的建设过程中也可以使用多种协议。

REST介绍

REST即“表述性状态转移”,是一组架构约束条件和原则。REST(Representational State Transfer)是 Roy Fielding 博士在2000年提出来的一种软件设计风格。它是针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。目前在三种主流的Web服务实现方案中,因为REST模式与发杂的SOAP和XML-PRC相比更加简洁,越来越多的web服务开始采用REST风格设计和实现。