适合ASP.NET Web API使用的场景

富客户端web应用程序:ASP.NET Web API适合大量使用AJAX调用的富客户端应用程序,如Silverlight应用程序,基于Adobe Flash的应用程序或单页应用程序(SPA)等。

  • 本地移动和非移动程序:移动设备不支持SOAP,然而ASP.NET Web API可以作为运行在移动设备上的本地程序的后端。
  • 物联网平台(IOT):使用以太网控制器或GSM猫的IOT设备可以通过HTTP和ASP.NET Web API服务会话。不仅仅是IOT设备,其他支持HTTP的设备,例如RFID读写器都可以和ASP.NET Web API通信。

在我们的开发实践中如何进行选择呢? 可以参照知名互联网企业,无论是google,facebook,baidu,新浪还是腾讯。他们对外开放的接口都是基于Http的Web API,在服务内部框架都是基于SOA架构设计的,通讯机制都是采用RPC机制的,例如Google Protocol Buffers ,Facebook thift。 我们完全也可以这样搭配,在内部通讯采用WCF + Protobuf-NET,参看《WCF服务上应用protobuf》,对外的服务采用ASP.NET WEB API。WCF的 TCP、Named Pipes,甚至UDP(在WCF 4.5中)绑定的性能要比HTTP强很多倍,这里有一个几年前的微软的测试报告《WCF 性能基准报告》,对外提供的服务采用Web API同时也是一个业界标准问题,用WebAPI就很容易的跨越ios,android,wp等移动终端平台,同时有很成熟的OAuth 解决安全问题。

posted on 2015-06-19 11:56  软件开发学习分享  阅读(306)  评论(0编辑  收藏  举报