WebApi和WebService功能特征與區別


Web Service特征

1、它是基於SOAP協議的,數據格式是XML

2、只支持HTTP協議

3、它不是開源的,但可以被任意一個了解XML的人使用

4、它只能部署在IIS上

Web API特征(紅色標記與WebService區別)

1、這是一個簡單的構建HTTP服務的新框架

2、在.net平台上Web API 是一個開源的、理想的、構建REST-ful 服務的技術

3、不像WCF REST Service.它可以使用HTTP的全部特點(比如URIs、request/response頭,緩存,版本控制,多種內容格式)

4、它也支持MVC的特征,像路由、控制器、action、filter、模型綁定、控制反轉(IOC)或依賴注入(DI),單元測試。這些可以使程序更簡單、更健壯

5、它可以部署在應用程序和IIS上

6、這是一個輕量級的框架,並且對限制帶寬的設備,比如智能手機等支持的很好

7、Response可以被Web API的MediaTypeFormatter轉換成Json、XML 或者任何你想轉換的格式。

8、Web API非常適合構建移動客戶端服務

以下情況可以考慮用Web API

1、 需要Web Service但是不需要SOAP

2、 需要在已有的WCF服務基礎上建立non-soap-based http服務

3、 只想發布一些簡單的Http服務,不想使用相對復雜的WCF配置

4、 發布的服務可能會被帶寬受限的設備訪問

5、希望使用開源框架,關鍵時候可以自己調試或者自定義一下框架

6、如果服務需要在http協議上,並且希望利用http協議的各種功能

7、如果服務需要被各種客戶端(特別是移動客戶端)調用

小結(僅供參考)

總體來說,兩者都是服務,只是表現形式存在一些差異

webapi多用於基於http請求的服務應用,比如說移動服務端或者需要提供第三方API 服務的場景下

webservice也可以應用於webapi所在的場景,但是如果是我的選擇,我一般是做為內部服務的使用,好比如果一個系統我會用wcf/webservice作為內部子系統間的服務通信,而webapi用於外部服務的請求~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM