WebApi和WebService功能特征与区别

Web Service特征

1、它是基于SOAP协议的,数据格式是XML

2、只支持HTTP协议

3、它不是开源的,但可以被任意一个了解XML的人使用

4、它只能部署在IIS上

Web API特征(红色标记与WebService区别)

1、这是一个简单的构建HTTP服务的新框架

2、在.net平台上Web API 是一个开源的、理想的、构建REST-ful 服务的技术

3、不像WCF REST Service.它可以使用HTTP的全部特点(比如URIs、request/response头,缓存,版本控制,多种内容格式)

4、它也支持MVC的特征,像路由、控制器、action、filter、模型绑定、控制反转(IOC)或依赖注入(DI),单元测试。这些可以使程序更简单、更健壮

5、它可以部署在应用程序和IIS上

6、这是一个轻量级的框架,并且对限制带宽的设备,比如智能手机等支持的很好

7、Response可以被Web API的MediaTypeFormatter转换成Json、XML 或者任何你想转换的格式。

8、Web API非常适合构建移动客户端服务

以下情况可以考虑用Web API

1、 需要Web Service但是不需要SOAP

2、 需要在已有的WCF服务基础上建立non-soap-based http服务

3、 只想发布一些简单的Http服务,不想使用相对复杂的WCF配置

4、 发布的服务可能会被带宽受限的设备访问

5、希望使用开源框架,关键时候可以自己调试或者自定义一下框架

6、如果服务需要在http协议上,并且希望利用http协议的各种功能

7、如果服务需要被各种客户端(特别是移动客户端)调用

小结(仅供参考)

总体来说,两者都是服务,只是表现形式存在一些差异

webapi多用于基于http请求的服务应用,比如说移动服务端或者需要提供第三方API 服务的场景下

webservice也可以应用于webapi所在的场景,但是如果是我的选择,我一般是做为内部服务的使用,好比如果一个系统我会用wcf/webservice作为内部子系统间的服务通信,而webapi用于外部服务的请求~

posted @ 2016-02-24 16:58  码农的崛起  阅读(4462)  评论(0编辑  收藏  举报