WebAPI 时代

   引言

 

   小编跳槽到现任公司有一段时间,在这个公司对于小编是各种挑衅啊,也颠覆了小编之前的编程生涯,在前面

 

的博客中小编隆重介绍了angularJS这个大神,这个让我不堪回首的两周,真是黑色天使啊!从现在开始我们在看看

 

我们的后端的东西,首先就是给大家介绍后起之秀webAPI,为什么说这个是后起之秀呢?那咱就好好的说说这个东

 

西。

 

   webAPI到底是什么?

 

   下面给大家一段官方的解释:

 

   ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework.

 

   上面这段文字是比较简单的哈,我就给大家提取出几个比较重点的东西:它可以很容易的对接各种客户端(各

 

种浏览器、移动设备),构建http服务,所以它也很光荣的被大家成为框架。

 

   webAPI的地位如何?

 

        

 

   Web API在ASP.NET完整框架中地位如下图,与SignalR一起同为构建Service而服务的框架。Web API负责构建

 

http常规服务,而SingalR主要负责的是构建实时服务,例如股票,聊天室,在线游戏等实时性要求比较高的服务。

 

   webAPI与wcf的简单的比较?

 

         

   

   上面我们已经介绍了webAPI最重要是可以面向各种客户端服务,它与WCF相比Web API利用Http协议的各个方面

 

来表达服务(例如 URI/request response header/caching/versioning/content format),因此就省掉很多配置。

 

   那么当我们发布服务的时候,我们如何在这两者之间抉择呢?下面给大家提供几种参考标准!

 

    1、如果服务需要支持One Way Messaging/Message Queue/Duplex Communication,选择WCF

 

    2、如果服务需要在TCP/Named Pipes/UDP (wcf 4.5),选择WCF

 

    3、如果服务需要在http协议上,并且希望利用http协议的各种功能,选择Web API

 

    4、如果服务需要被各种客户端(特别是移动客户端)调用,选择Web API

 

  WebAPI与MVC有何区别?

 

   MVC和webAPI相比最大的缺点就是它只能面向浏览器服务而不能面向移动端的服务,这在移动办公迅速崛起的时

 

代显得有点力不从心了,所以webAPI这个角色就理所当然的占据了很重要的地位。下面我们就详细的给大家介绍一下

 

这两者的区别:

 

     MVC主要用来构建网站,既关心数据也关心页面展示,而Web API只关注数据


     Web API支持格式协商,客户端可以通过Accept header通知服务器期望的格式


     Web API支持Self Host,MVC目前不支持


     Web API通过不同的http verb表达不同的动作(CRUD),MVC则通过Action名字表达动作


     Web API内建于ASP.NET System.Web.Http命名空间下,MVC位于System.Web.Mvc命名空间下,因此model

 

     binding/filter/routing等功能有所不同


     最后,Web API非常适合构建移动客户端服务

 

   小结

 

   上面是小编总结的一些关于WebAPI和之前我们比较熟悉的技术的一些对比,关于这个技术小编也是刚接触不

 

久,这是项目中框架中的一部分,所以就简单的总结了一下,如果有什么不对的地方还请广大读者拍砖!

posted on 2016-08-24 17:15  張暁磊  阅读(193)  评论(0编辑  收藏  举报