WCF、WebAPI、WCFREST和Web服務的差別 ASP.NETMVC和ASP.NETWebAPI的差別

WCF、WebAPI、WCFREST和Web服務的差別:web

Web服務json

  1. 它是基於SOAP和XML的形式返回數據windows

  2. 它僅支持HTTP協議。api

  3. 它是開放源,可是不消耗任何客戶端能夠同時理解XML。瀏覽器

  4. 它能夠僅在IIS託管緩存

WCFmvc

  1. 它也是基於SOAP和XML的形式返回數據框架

  2. 它是對演化的Web服務(asmx)和支持各類協議(如TCP、HTTP、HTTPS)、命名管道、MSMQ。測試

  3. WCF最主要的問題是,其繁瑣和大量的配置。spa

  4. 它是開放源,可是不消耗任何客戶端能夠同時理解XML。

  5. 能夠在應用程序或IIS託管也能夠部署爲windows服務

WCFREST

  1. 使WCFREST服務必須啓用webhttpbindings

  2. 它支持HTTP動詞GET和POST[][]和webgetwebinvoke屬性。

  3. 啓用HTTP動詞之外,你還得在配置IIS來接受該請求的特定動詞對.svc文件

  4. 使數據經過使用webget須要配置參數。必須指定該uritemplate

  5. 支持XML、JSON和Atom格式數據

WebAPI

  1. 這是新的框架來構建HTTP服務的簡單和容易方式。

  2. 開放源WebAPI是一個理想平臺服務的REST-ful的NET框架

  3. WCFREST服務不一樣,它使用了HTTP的特色充分相似(URI、請求/響應報頭,緩存,版本、各類內容格式)

  4. 它還支持MVC的特徵,諸如路由、控制器、操做結果、過濾器、活頁夾、或IOC依賴注入容器,測試單元,使其更加簡單和魯棒。

  5. 能夠託管在應用程序或IIS下。

  6. 它是結構良好的和重量輕的設備具備有限的帶寬,如智能電話。

  7. 響應格式化爲JSON,XML或任何格式,您須要添加一個mediatypeformatter。

如何選擇WCF、WebAPI

  1. 對於單向消息傳遞、消息隊列、半雙工通訊等能夠選擇WCF。

  2. 當須要使用全特徵的(如HTTPURI,請求/響應報頭,緩存,版本、各類內容格式),能夠選擇WebAPI。

  3. 當須要創建服務於瀏覽器、移動電話、iPhone和平板電腦的項目能夠選擇WebAPI。


 

ASP.NETMVC和ASP.NETWebAPI

  1. 使用ASP.NETMVC建立Web應用返回數據,可是ASP.NETWebAPI被用於建立完整HTTP服務的容易且簡單的方式,不僅返回數據視圖。

  2. 有助於構建webAPI(REST)風格的服務。NET框架,它還支持內容協商(約決定最佳響應格式數據,該數據能夠是可由客戶端的JSON、XML或其它格式的數據),自託管的MVC

  3. WebAPI也須要返回數據的特定格式(如JSON,XML或任何其它基於接收的報頭的請求。僅在MVC中使用JSON格式返回數據jsonresult。

  4. 在WebAPI的請求的動做被映射到基於HTTP動詞,但它在MVC中被映射到動做名稱。

  5. ASP.NETWebAPI的新框架和ASP.NET框架的核心部分。該模型結合、過濾、路由和其餘特徵在存在MVCWebAPI不一樣於MVC和存在於新System.Web.Http組件。在MVC中,這些特徵在與存在System.Web.Mvc。所以,WebAPI也可使用ASP.NET和做爲獨立的服務層。

  6. 您能夠在MVC控制器和WebAPI單個項目來處理高級Ajax請求的返回數據能夠在JSON、XML或其餘格式的全面建設和HTTP服務。一般,這被稱爲自託管WebAPI。

  7. 此外,WebAPI是重量輕的應用除了Web體系結構和它也可用於智能手機應用。

mvc主要用於建站,web api主要用於構建http服務

相關文章
相關標籤/搜索