共用方式為


Web API 範例清單

HttpClient 範例

Bing 翻譯範例 | VS 2012 來源

示範如何呼叫 Microsoft 翻譯工具服務 使用 HttpClient 類別。 Microsoft 翻譯服務 API 需要 OAuth 權杖,應用程式會先將請求發送至 Azure 權杖伺服器以獲取權杖,然後在每次發送翻譯服務請求時使用該權杖。 傳送至翻譯服務的請求中包含了從權杖伺服器取得的結果。 執行此範例之前,您必須從 Azure Marketplace 取得應用程式金鑰,並填入 AccessTokenMessageHandler 範例類別中的資訊。

Google Maps 範例 | 詳細說明 | VS 2012 原始碼

使用 HttpClientGoogle Maps API 下載雷蒙德,華盛頓的地圖,將它儲存為本機檔案,然後開啟預設圖片檢視器。

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 動作。

自訂組件解析範本 | Visual Studio 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 原始程式碼

此範例與 File Upload Sample 相似,但不同的是,它不會將上傳的檔案儲存在本機磁碟,而是使用 Windows Azure SDK for .NET 非同步地將檔案上傳到 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 要求的內容。 示範如何視需要標記屬性、如何使用架構定義和自訂驗證屬性來標註您的模型,以及如何傳回無效模型狀態的錯誤回應。

網頁表單範例 | 詳細說明 | VS 2010 原始碼

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

RestBugs 範例

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