WebAPI 和 WebService 的区别?
- 其他
- 2022-05-24
- 16热度
- 0评论
WebService 特征:
1、它是基于 SOAP 协议的,数据格式是 XML;
2、只支持 HTTP 协议;
3、它不是开源的,但可以被任意一个了解 XML 的人使用;
4、它只能部署在 IIS 上。
WebAPI 特征:
1、这是一个简单的构建 HTTP 服务的新框架;
2、在.net 平台上 WebAPI 是一个开源的、理想的、构建 REST-ful 服务的技术;
3、不像 WCFRESTService.它可以使用 HTTP 的全部特点(比如 URIs、request/response 头,缓存,版本控制,多种内容格式);
4、它也支持 MVC 的特征,像路由、控制器、action、filter、模型绑定、控制反转(IOC)或依赖注入(DI),单元测试。这些可以使程序更简单、更健壮;
5、它可以部署在应用程序和 IIS 上;
6、这是一个轻量级的框架,并且对限制带宽的设备,比如智能手机等支持的很好;
7、Response 可以被 WebAPI 的 MediaTypeFormatter 转换成 Json、XML 或者任何你想转换的格式;
8、WebAPI 非常适合构建移动客户端服务。
以下情况可以考虑用 WebAPI:
1、需要 WebService 但是不需要 SOAP;
2、需要在已有的 WCF 服务基础上建立 non-soap-basedhttp 服务;
3、只想发布一些简单的 Http 服务,不想使用相对复杂的 WCF 配置;
4、发布的服务可能会被带宽受限的设备访问;
5、希望使用开源框架,关键时候可以自己调试或者自定义一下框架;
6、如果服务需要在 http 协议上,并且希望利用 http 协议的各种功能;
7、如果服务需要被各种客户端(特别是移动客户端)调用。
总结:
1、两者都是服务,只是表现形式存在一些差异。一个走 http 协议,一个走 soap 协议。目前用 webapi 多一点。webservice 不常用了。
2、WebAPI 多用于基于 http 请求的服务应用,比如说移动服务端或者需要提供第三方 API 服务的场景下。
3、WebService 也可以应用于 WebAPI 所在的场景,从业务角度考虑,WebAPI 用于外部服务的请求,内部子系统间的服务通信使用 WebService。后者功能更强大,更繁琐。前者较为流行,开发和实现的效率更高。

鲁ICP备19063141号
鲁公网安备 37010302000824号