WebService、WCF、WebAPI的区别

一、WebService

特点:

  • 基于SOAP协议,非开源的
  • 数据格式是XML,可以被任意一个了解XML的人使用
  • 只支持HTTP协议
  • 只能部署在IIS上

二、WCF

特点:

  • 基于SOAP,非开源的
  • 数据格式是XML,可以被任意一个了解XML的人使用
  • 是WebService的进化版,可以支持多种协议:TCP、HTTP、HTTPS、Named Pipes、MSMQ等
  • 可以部署在IIS、应用程序、Windows服务中
  • 配置繁琐

三、WebAPI

特点:

  • 是一个简单的构建HTTP的框架
  • 是一个开源的、理想的、构建RESTful服务的技术
  • 可以使用HTTP的所有特点:URIs、request/response、缓存、版本控制、多种内容格式等
  • 支持MVC的特征,如路由、控制器、action、filter、模型绑定、Ioc、DI、单元测试等,让程序更简单、健壮
  • 可以部署在IIS和应用程序上
  • 轻量级的架构,对限制带宽的设备,如智能手机等,有良好的支持
  • Response可以被WebAPI的MediaTypeFormatter转换成Json、XML等任意格式

四、表格对照

WebServiceWCFWebAPI
协议SOAPSOAPHTTP
开源
数据格式XMLXMLJSON、XML等
支持RESTful
部署环境IISIIS、应用程序、Windows服务IIS、应用程序
使用操作简单配置繁琐操作简单

版权声明:本文为u011585024原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。