天天看點

Asp.Net Web API 2 官網菜鳥學習系列導航[持續更新中]

前言

Asp.Net Web API 2 官網菜鳥學習系列導航[持續更新中]

  

Asp.Net Web API 2 官網菜鳥學習系列導航[持續更新中]

以上是清單原址和google翻譯。

Asp.Net Web API系列導航

一: Getting Started(入門)

二:Creating Web APIs(建立Web API)  

三:Web API Clients(Web API用戶端)

四:Web API Routing and Actions(Web API 路由和動作)

  9.Asp.Net Web API 2第九課——Create a REST API with Attribute Routing in Web API 2

五:Working With HTTP(使用HTTP)

  10.Asp.Net Web API 2第十課——Web API HTTP消息處理

  11.Asp.Net Web API 2第十課——Sending HTML Form Data

  12.Asp.Net Web API 2第十課——HTTP Cookies in ASP.NET Web API

六:Formats and Model Binding(格式化和模型綁定)

七:OData

  19.Asp.Net Web API 2第十二課——Supporting OData Query Options

  20.Asp.Net Web API 2第十二課——Supporting OData Query Options

  21.Asp.Net Web API 2第十二課——Using $select, $expand, and $value in ASP.NET Web API OData

  23.Asp.Net Web API 2第十二課——Supporting OData Actions in ASP.NET Web API

  24.Asp.Net Web API 2第十二課——Web API OData Routing Conventions

  25.Asp.Net Web API 2第十二課——OData Security Guidance

八:Security(安全)

  26.Asp.Net Web API 2第十三課——Authentication and Authorization in ASP.NET Web API

  27.Asp.Net Web API 2第十三課——Basic Authentication

  28.Asp.Net Web API 2第十三課——Individual Accounts in ASP.NET Web API

  29.Asp.Net Web API 2第十三課——Forms Authentication

  30.Asp.Net Web API 2第十三課——Integrated Windows Authentication

  31.Asp.Net Web API 2第十三課——Preventing Cross-Site Request Forgery (CSRF) Attacks

  32.Asp.Net Web API 2第十三課——Working with SSL in Web API

  33.Asp.Net Web API 2第十三課——External Authentication Services (C#)

  34.Asp.Net Web API 2第十三課——Enabling Cross-Origin Requests in ASP.NET Web API

九:Hosting Asp.Net Web API(Asp.Net Web API托管)

十:Testing and  Debugging(測試和調試)

  37.Asp.Net Web API 2第十五課——Tracing in ASP.NET Web API

十一:Extensibility(可擴充性)

  38.Asp.Net Web API 2第十六課——Configuring ASP.NET Web API

  39.Asp.Net Web API 2第十六課——Using the Web API Dependency Resolver

十二:其他資源——暫無打算

  以上隻是列出了學習的一個清單,至于學習那些和順序沒有嚴格的要求,正常的話所有的我都會進行學習翻譯,順序上變化可能比較多,這可是一向艱巨的任務,希望自己能夠堅持下去。下面簡單的來了解了解Web  API。

Web API是什麼

為什麼要用Web API

  Web API最重要的是可以建構面向各種用戶端的服務。另外與WCF REST 服務不同在于Web API利用Http協定的各個方面來表達服務(例如 URI/request response header/caching/versioning/content format),是以就省掉很多配置。

當你遇到以下這些情況的時候,就可以考慮使用Web API了。

需要Web Service但是不需要SOAP

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

隻想釋出一些簡單的Http服務,不想使用相對複雜的WCF配置

釋出的服務可能會被帶寬受限的裝置通路

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

主要功能

Web API的主要功能

支援基于Http verb (GET, POST, PUT, DELETE)的CRUD (create, retrieve, update, delete)操作。 通過不同的http動作表達不同的含義,這樣就不需要暴露多個API來支援這些基本操作。

請求的回複格式支援 JSON,XML,并且可以擴充添加其他格式。

支援Self-host或者IIS host。

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

Asp.Net Web API 和Asp.Net MVC

你可能會覺得Web API 與MVC很類似,他們有哪些不同之處呢?

詳細點說他們的差別,

MVC主要用來建構網站,既關心資料也關心頁面展示,而Web API隻關注資料

Web API支援格式協商,用戶端可以通過Accept header通知伺服器期望的格式

Web API支援Self Host,MVC目前不支援

Web API通過不同的http verb表達不同的動作(CRUD),MVC則通過Action名字表達動作

Web API内建于ASP.NET System.Web.Http命名空間下,MVC位于System.Web.Mvc命名空間下,是以model binding/filter/routing等功能有所不同

最後,Web API非常适合建構移動用戶端服務

Web API和WCF

釋出服務在Web API和WCF之間該如何取舍呢?這裡提供些簡單地判斷規則,

如果服務需要支援One Way Messaging/Message Queue/Duplex Communication,選擇WCF

如果服務需要在TCP/Named Pipes/UDP (wcf 4.5),選擇WCF

如果服務需要在http協定上,并且希望利用http協定的各種功能,選擇Web API

如果服務需要被各種用戶端(特别是移動用戶端)調用,選擇Web API

<a href="http://msdn.microsoft.com/en-us/library/jj823172.aspx">http://msdn.microsoft.com/en-us/library/jj823172.aspx</a>

總結

  又簡單的進行了系列的彙總和列舉,這也是一項很大的工程。暫時已經學習翻譯了六個課程,感覺其中的某些知識點和Asp.Net MVC有比較高的相似度,這也讓自己對MVC中的一些問題有了更為深刻的了解和認識。希望能有更多的朋友參與其中。