WebService、WCF和WebApi的区别和特点
Web Service :Web Service服务通常被定义为一组模块化的API,它们可以通过网络进行调用,来执行远程系统的请求服务
1.)它是基于SOAP协议的,数据格式是XML
2.)只支持HTTP协议
3.)它不是开源的,但可以被任何一个了解XML的人使用
4.)它只能部署到IIS上
WCF :是由微软开发的一系列支持数据通信的应用程序框架,整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术
1.)它也是基于SOAP的,数据格式是XML
2.)它是Web Service的进化版,可以支持各种各样的协议,像TCP,HTTP,HTTPS等
3.)WCF配置较为繁琐
4.)它不是开源的,但可以被任意一个了解XML的人使用
5.)它可以部署到应用程序中或IIS及Windows服务中
Web Api :与WCF REST Service不同在于,Web API利用Http协议的各个方面来表达服务
1.)在.net平台上Web Api是一个开源的、理想的、构建REST-ful服务的技术
2.)它可以使用HTTP的全部特点,比如URIs、request/response头,缓存,版本控制,多种内容格式
3.)它也支持MVC的特征,像路由、控制器、action、filter、模型绑定、控制反转(IOC)或依赖注入(DI),单元测试
4.)它可以部署在应用程序和IIS上
5.)这是一个轻量级的框架,并且对限制带宽的设备,比如智能手机等支持的很好
6.)Response可以被Web API的MediaTypeFormatter转换成Json、XML 等格式