適合ASP.NET Web API使用的場景

富客戶端web應用程序:ASP.NET Web API適合大量使用AJAX調用的富客戶端應用程序,如Silverlight應用程序,基於Adobe Flash的應用程序或單頁應用程序(SPA)等。html

  • 本地移動和非移動程序:移動設備不支持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 解決安全問題。android

相關文章
相關標籤/搜索