Web API 範例清單

HttpClient 範例

Bing 翻譯範例 | VS 2012 來源

示範如何使用 HttpClient 類別呼叫 Microsoft 翻譯工具服務。 Microsoft 翻譯工具服務 API 需要 OAuth 權杖,應用程式會藉由將要求傳送至 Azure 權杖伺服器,將每個要求傳送至翻譯工具服務來取得。 權杖伺服器的結果會送入傳送至翻譯服務的要求。 執行此範例之前,您必須從 Azure Marketplace 取得應用程式金鑰,並填入 AccessTokenMessageHandler 範例類別中的資訊。

Google Maps 範例 | 詳細說明 | VS 2012 來源

使用 HttpClientGoogle Maps API 下載 Redmond、WA 的地圖、將它儲存為本機檔案,然後開啟預設影像檢視器。

Twitter 用戶端範例 | 詳細說明 | VS 2012 來源

示範如何使用 HttpClient 撰寫簡單的 Twitter 用戶端。 此範例使用 HttpMessageHandler 將 OAuth 驗證資訊插入到傳出的 HttpRequestMessage 中。 Twitter 的結果會使用 JSON.NET 來讀取。 執行此範例之前,您必須從 Twitter 取得應用程式金鑰,並填入 OAuthMessageHandler 範例類別中的資訊。

世界銀行範例 | 詳細說明 | VS 2010 來源 | VS 2012 來源

示範如何使用 JSON.NET 從世界銀行資料網站擷取資料,以剖析結果。

Web API 範例

ASP.NET Web API 使用者入門 | VS 2012 來源

示範如何建立支援 HTTP GET 要求的基本 Web API。 包含您的第一個 ASP.NET Web API 教學課程的原始程式碼

ASP.NET Web API JavaScript 案例 – 註解 | VS 2012 來源

示範如何使用 ASP.NET Web API 來建置支援瀏覽器用戶端的 Web API,而且可以使用 jQuery 輕鬆呼叫。

Contact Manager | VS 2010 來源

此範例會使用 ASP.NET Web API 來建置簡單的 Contact Manager 應用程式。 此應用程式是由 ASP.NET MVC 應用程式和 Windows Phone 應用程式用來顯示和管理連絡人清單的連絡人管理員 Web API 所組成。

批次處理範例 | 詳細說明 | VS 2012 來源

示範如何在 ASP.NET 內實作 HTTP 批次處理。 批次處理包含將多個 HTTP 要求放在單一 MIME 多部分實體主體內,然後以 HTTP POST 的形式傳送至伺服器。 要求會個別處理,而回應會放入另一個 MIME 多部分實體主體中,這會傳回給用戶端。

內容控制器範例 | 詳細說明 | VS 2010 來源 | VS 2012 來源

示範如何使用資料流以非同步方式讀取和寫入要求和回應實體。 範例控制器有兩個動作:以非同步方式讀取要求實體主體並儲存在本機檔案中的 PUT 動作,以及傳回本機檔案內容的 GET 動作。

自訂組件解析程式範例 | VS 2012 來源

示範如何修改 ASP.NET Web API,以支援從動態載入的程式庫組件探索控制器。 此範例會實作自訂 IAssembliesResolver,其會呼叫預設實作,然後將程式庫組件新增至預設結果。

自訂媒體類型格式器範例 | 詳細說明 | VS 2010 來源

示範如何使用 BufferedMediaTypeFormatter 基底類別建立自訂媒體類型格式器。 這個基底類別用於主要使用同步讀寫操作的格式器。 除了顯示媒體類型格式器之外,此範例也會示範如何將它註冊為應用程式的 HttpConfiguration 一部分來連結它。 請注意,對於主要使用非同步讀取和寫入作業的格式器,也可以直接使用 MediaTypeFormatter 基底類別。

自訂參數繫結範例 | 詳細說明 | VS 2010 來源

示範如何自訂參數繫結流程,這是決定要求資訊繫結至動作參數的方式的流程。 在此範例中,Home 控制器有四個動作:

  1. BindPrincipal 示範如何從自訂泛型主體繫結 IPrincipal 參數,而不是從 HTTP GET 訊息繫結;
  2. BindCustomComplexTypeFromUriOrBody 示範如何繫結複雜類型參數,該參數可能來自訊息本文或 HTTP POST 訊息的要求 URI;
  3. BindCustomComplexTypeFromUriWithRenamedProperty 示範如何繫結複雜類型參數與來自 HTTP POST 訊息的要求 URI 的已重新命名屬性;
  4. PostMultipleParametersFromBody 示範如何從 POST 訊息本文繫結多個參數;

檔案上傳範例 | 詳細說明 | VS 2012 來源

示範如何使用 MIME 多部分檔案上傳將檔案上傳至 ApiController,以及如何使用 ProgressNotificationHandlerHttpClient 設定進度通知。 控制器會以非同步方式讀取 HTML 檔案上傳的內容,並將一或多個主體元件寫入本機檔案。 回應包含已上傳檔案的相關資訊 (或檔案)。

檔案上傳至 Azure Blob 儲存體範例 | 詳細說明 | VS 2012 來源

此範例類似於檔案上傳範例,但不要將上傳的檔案儲存在本機磁碟上,而是使用適用於 .NET 的 Windows Azure SDK,以非同步方式將檔案上傳至 Azure Blob 儲存體。 它也提供機制來列出目前存在於 Azure Blob 儲存體容器中的 Blob。 你可以嘗試針對 Azure SDK 隨附的 Azure 儲存體模擬器執行範例。 如果您有 Azure 儲存體帳戶,您也可以對實際的記憶體服務執行。

Http 訊息處理長常式管線範例 | 詳細說明 | VS 2010 來源

示範如何在用戶端 (HttpClient) 和伺服器 (ASP.NET Web API) 上連接 HttpMessageHandler 執行個體。 在範例中,客戶端和伺服器上使用相同的處理常式。 雖然在兩個位置中執行完全相同的處理常式很少,但物件模型在用戶端和伺服器端都相同。

JSON 上傳範例 | VS 2012 來源

示範如何向 ApiController 上傳和下載 JSON。 此範例會使用最少的 ApiController,並使用 HttpClient 存取它。

Mashup 範例 | 詳細說明 | VS 2012 來源

示範如何從 ApiController 動作中非同步存取多個遠端網站。 每次叫用動作時,都會以非同步方式執行要求,因此不會封鎖任何執行緒。

記憶體追蹤範例 | 詳細說明 | VS 2010 來源

此範例專案會建立 Nuget 套件,以將自訂記憶體內部追蹤寫入器安裝至 ASP.NET Web API 應用程式。

MongoDB 範例 | 詳細說明 | VS 2012 來源

示範如何使用 MongoDB 作為 ApiController 的永續性存放區,使用存放庫模式。

回應本文處理器範例 | VS 2012 來源

示範如何將響應實體 (也就是 HTTP 回應本文( 複製到本機檔案,再將其傳輸至用戶端,並以非同步方式在該檔案上執行其他處理。 此範例會實作 HttpMessageHandler,將回應實體包裝在一起,並將它本身寫入一般輸出,並寫入本機檔案。

上傳 XDocument 範例 | 詳細說明 | VS 2012 來源

示範如何使用 PushStreamContentHttpClient 將 XDocument 上傳至 ApiController

驗證範例 | VS 2010 來源

示範如何在 ASP.NET WebAPI 中使用模型上的驗證屬性來驗證 HTTP 要求的內容。 示範如何視需要標記屬性、如何使用架構定義和自訂驗證屬性來標註您的模型,以及如何傳回無效模型狀態的錯誤回應。

Web 表單範例 | 詳細說明 | VS 2010 來源

顯示已新增至 Web Form 專案的 ApiController。

RestBugs 範例

RestBugs 是簡單的 Bug 追蹤應用程式,示範如何使用 ASP.NET Web API 和新的 HTTP 用戶端程式庫來建立超媒體驅動系統。 此範例包含客戶端和伺服器實作,使用 ASP.NET Web API。 伺服器會使用自訂 Razor 格式器來產生資源表示法。 此範例也會提供 node.js 伺服器,以說明使用超媒體設計來分離客戶端和伺服器的優點。