Web Service vs WCF vs WCF REST vs Web API

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web Service vs WCF vs WCF REST vs Web API相关的知识,希望对你有一定的参考价值。

[MY NOTE]

Translate Source:http://www.dotnettricks.com/learn/webapi/difference-between-wcf-and-web-api-and-wcf-rest-and-web-service

 

Web Service

1.基于SOAP协议,以XML格式返回数据。

2.只支持HTTP协议。

3.不开源,能用于所有能解析XML的客户端。

4.只能寄宿在IIS上面。

 

WCF

1. 也是基于SOAP协议,以XML格式返回数据。

2.是Web Service(ASMX)的升级,支持多种协议,如:TCP, HTTP, HTTPS, Named Pipes, MSMQ。

3.WCF配置过于繁杂。

4.不开源,能用于所有能解析XML的客户端。

5.能够寄宿在应用程序,IIS和Windows服务中。

 

WCF REST

1.需要启用webHttpBindings。

2.支持HTTP GET和POST,通过添加[WebGet]和[WebInvoke]属性实现。

3.如果需要使用其他HTTP请求方式(e.g. PUT, DELETE),需要在IIS中进行额外配置。

4.通过URL参数传输数据,需要进行WebGet配置,必须要指定其中的UriTemplate。

5.支持XML, JSON等数据格式。

 

WEB API

1.微软提供的一种更简单方便地创建HTTP服务的新框架。

2.开源项目,是在.NET平台上建立REST-ful服务的理想平台。

3.和WCF Rest比较,Web API支持全部的HTTP特性(like URIs, request/response headers, caching, versioning, various content formats.)。

4.也支持MVC特性,如routing, controllers, action results, filter, model binders, IOC container or dependency injection, unit testing。

5.可以寄宿在应用程序或者IIS上。

6.是一个轻量级架构,可以更好的用于像智能手机这样具有有限带宽的设备。

7.返回数据时,通过MediaTypeFormatter, 可以返回JSON, XML或者其他自定义数据。

以上是关于Web Service vs WCF vs WCF REST vs Web API的主要内容,如果未能解决你的问题,请参考以下文章

Webservice 和 WCF 的区别?

新电子商务网站的 WCF vs WEB api vs Web 服务 [重复]

WCF发布后远程访问的域名解析问题

WCF IIS svcutil 错误

WCF--建立简单的WCF服务

在 WCF 数据服务应用程序中迁移实体框架 6 和 VS2013 后无法更新或删除