WCF、Web API、WCF REST、Web Service比较

原文地址:http://www.dotnet-tricks.com/Tutorial/webapi/JI2X050413-Difference-between-WCF-and-Web-API-and-WCF-REST-and-Web-Service.html

WCF

1.基于Soap协议,以XML形式返回。

2.是Web Service的进化 支持多种协议:TCP,HTTP,HTTPS,命名管道,消息队列。

3.缺点:冗长的大量配置。

4.不开源,但是可以被懂xml的定制。

5.可以部署在应用、IIS或windows 服务。

 

Web API

1.创建http服务的一个简单快捷的框架。

2.开源。

3.WCF不同的:使用了整个HTTP特性。

4.支持MVC特性包括:routing, controllers, action results, filter, model binders, IOC container or dependency injection, unit testing

5.部署在应用或IIS上。

6.轻量级的,适合对带宽有要求的像智能手机等设备。

7.Responses 格式是多样的,例如json,xml等任何可以转化为MediaTypeFormatter 的。

WCF Rest

1.使用WCF Rest 需要webHttpBindings;

2.支持HTTP Get 和HTTP Post

3.支持其他http verbs 需要对IIS进行设置。

4.使用webGet 参数传递数据需要设置。

5.支持XML、json和ATOM数据

 

WEB Service

1.基于SOAP 返回数据为xml类型

2.仅支持http 协议

3.不开源,但是可以被懂xml的定制。

4.仅能在IIS上发布。

 

选择WCF还是Web API

1.在特定的情景下,如单向传递,消息队列,双端通信等选择WCF。

2.需要快速可靠的传输通道TCP 命名管道 UDP 同事需要在传输信道不可靠时支持http。

3.需要创建资源导向的基于http的服务(用到HTTP所有特性)时 使用Web API

4.向多种客户例如浏览器,移动端等同时提供服务的选择Web API

 

posted @ 2016-07-25 12:08  胖胖仔  阅读(257)  评论(0编辑  收藏  举报