服务接口对比
Web Service
1、基于 soap 协议,数据格式是 xml
2、只支持 http 协议
3、不开源
4、只能部署在 iis 上
WCF
1、基于 soap 协议,数据格式是 xml
2、这个是 webservice 的进化版,可以支持各种各样的协议,如 tcp,http,https,MSMQ 等
3、配置繁琐
4、不开源
5、可以部署在应用程序或者 iis 上或者 windows 服务中
SignalR
…实时通讯…
Web API
1、在 .net 平台上 webApi 是一个开源的、理想的、构建 REST-ful 服务的技术
2、可以使用 http 的全部特点(比如 URIs、request/response 头,缓存,版本控制,多种内容格式)
3、支持 mvc 的特征,像路由、控制器、action、filter、模型绑定、控制反转(IOC)或依赖注入(DI),单元测试。这些可以使程序更简单、更健壮
4、它可以部署在应用程序或者 iis 上
5、这是一个轻量级的框架,并且对限制带宽的设备,比如智能手机等支持的很好
6、Response 可以被 webapi 的 MediaTypeFormatter 转换成 json、xml 或者任何你想转换的格式
WCF 和 WEB API 我该选择哪个?
1、当你想创建一个支持消息、消息队列、双工通信的服务时,你应该选择 wcf
2、当你想创建一个基于 http 的面向资源的服务,并且可以使用 http 的全部特点时,你应该选择 webapi
3、当你想让你的服务用于浏览器、手机和平板电脑时,你应该选择 webapi