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或者其他自定义数据。

上一篇:微信小程序教学第四章第一节(含视频):小程序中级实战教程:详情-页面制作


下一篇:【软件构造】第三章第四节 面向对象编程OOP