ASP.NET Web API 特性

來源:互聯網
上載者:User

標籤:服務端   用戶端   asp.net   

1、先進的 HTTP 編程模型: 使用新的強型別的 HTTP 物件模型直接操作 HTTP 要求和響應, 在 HTTP用戶端使用相同的編程模型和 HTTP 管道;


2、支援路由: Web API 完整支援 ASP.NET 路由, 包括路由參數和約束。 此外, 到動作的映射支援約定, 從此將不再需要向類或者方法添加類似於 [HttpPost] 之類的屬性;


3、內容協商: 用戶端與服務端可以一起決定 API 返回資料的格式。 預設支援 XML, JSON 以及 Form URL-Encoded 格式, 可以擴充添加自訂格式, 甚至可以替換掉預設的內容協商策略;


4、模型繫結與驗證: 模型繫結器可以輕易地從 HTTP 要求中提取資料並轉換成在動作方法中使用的 .Net 對象;


5、過濾: Web API 支援過濾, 包括總所周知的 [Authorize] 過濾標記, 可以為 Action 添加並插入自訂過濾, 實現認證、異常處理等;


6、查詢彙總: 只要簡單的返回 Iqueryable<T> , Web API 將會支援通過 OData 地址約定進行查詢;


7、改進的 Http 細節可測試性: Web API 不是將 HTTP 細節設定到一個靜態 Context 對象上, 而是使用 HttpRequestMessage 和 HttpResponseMessage 執行個體, 可以使用這些對象的泛型版本為這些 Http 類型添加自訂類型;


8、改進的依賴反轉 (IoC) 支援: Web API 使用 MVC Dependency Resolver 實現的服務定位器模式在不同的情境下來擷取執行個體;


9、基於代碼的配置: Web API 單獨使用程式碼完成配置, 從而保證了設定檔的整潔;


10、自託管 (Self-Host) : Web API 除了可以託管在 IIS 中, 還可以託管在進程中,依舊可以使用路由以及其它的特性。


11、支援基於Http verb (GET, POST, PUT, DELETE)的CRUD (create, retrieve, update, delete)操作

通過不同的http動作表達不同的含義,這樣就不需要暴露多個API來支援這些基本操作。


12、請求的返回格式支援 JSON,XML,並且可以擴充添加其他格式。


13、原生支援OData。


14、支援Self-host或者IIS host。


15、支援大多數MVC功能,例如Routing/Controller/Action Result/Filter/Model Builder/IOC Container/Dependency Injection。



參考資料:  ASP.NET Web API是什麼   http://www.studyofnet.com/news/845.html

本文出自 “學習也休閑” 部落格,請務必保留此出處http://studyofnet.blog.51cto.com/8142094/1680776

ASP.NET Web API 特性

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.