2015-06-17 18 views
0

我正在用Visual Studio 2015 RC編寫一個ASP.Net 5,MVC 6應用程序(也稱爲「ASP.net vNext」)。如何在ASP.net 5.0(MVC6)中執行對REST API的請求

如何對REST API執行簡單的GET請求?在.net 4.5中,我會使用HttpClient,但似乎不再可用。

我嘗試添加'System.Net.Http'和'Microsoft.Net.Http'軟件包建議通過Visual Studio,但我仍然得到「的類型或命名空間名稱'HttpClient'找不到」這導致我相信HttpClient不是在ASP.net 5中執行此操作的正確方法?

任何人都可以建議正確的方式來在ASP.net 5中發出HTTP GET請求嗎?

更新:我的問題不是'ASP.NET 5.0中的HttpClient找不到'的重複?因爲給出的答案已過時,並且不適用於最新版本的ASP.net 5.0

+0

那麼HttpClientHandler呢? – DanielVorph

+0

你的意思是ASP.NET 5和MVC 6? –

+0

之前似乎有人[問這個問題](http://stackoverflow.com/questions/27946798/httpclient-in-asp-net-5-0-not-found)。 – Michael

回答

3

這是您的解決方案,我剛剛在ASP.Net 5網站項目模板上嘗試過。添加下面的方法來HomeController的

static async Task<string> DownloadPageAsync() 
    { 
     string page = "http://en.wikipedia.org/"; 

     using (HttpClient client = new HttpClient()) 
     using (HttpResponseMessage response = await client.GetAsync(page)) 
     using (HttpContent content = response.Content) 
     { 
      string result = await content.ReadAsStringAsync(); 

      return result.Substring(0, 50); 
     } 

    } 

然後在HomeControllers指數方法

string test = DownloadPageAsync().Result; 

而在project.json我加在依賴

"Microsoft.Net.Http": "2.2.22" 
+0

嗨馬格努斯,謝謝你。如果你的Nuget安裝正確,這個代碼就可以工作,這是問題的關鍵。在這個主題上看到我的最新答案 –