富客戶端web應用程序:ASP.NET Web API適合大量使用AJAX調用的富客戶端應用程序,如Silverlight應用程序,基於Adobe Flash的應用程序或單頁應用程序(SPA)等。html
在咱們的開發實踐中如何進行選擇呢? 能夠參照知名互聯網企業,不管是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