我正在使用Visual Studio 2015 RC编写ASP.Net 5,MVC 6应用程序(也称为“ASP.net vNext”)。
如何对REST API执行简单的GET请求?在.net 4.5中,我会使用HttpClient,但似乎不再可用。
我尝试按照Visual Studio的建议添加'System.Net.Http'和'Microsoft.Net.Http'软件包,但我仍然得到“无法找到类型或命名空间名称'HttpClient'”让我相信HttpClient不是在ASP.net 5中做到这一点的正确方法吗?
有人可以建议在ASP.net 5中发出HTTP GET请求的正确方法吗?
更新:我的问题不是'找不到ASP.NET 5.0中的HttpClient?'因为给出的答案已过时,不适用于最新版本的ASP.net 5.0
答案 0 :(得分:4)
这是一个解决方案,我只是在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 Index方法
中string test = DownloadPageAsync().Result;
在project.json中,我在依赖项中添加了以下引用
"Microsoft.Net.Http": "2.2.22"
答案 1 :(得分:0)
我找到了一个答案,部分来自一个名为&#39; 没有找到ASP.NET 5.0中的HttpClient?&#39;,但是由于技术现在已经发生了变化,因此存在一些缺失。我在这里写了完整的解决方案:http://blogs.msdn.com/b/martinkearn/archive/2015/06/17/using-httpclient-with-asp-net-5-0.aspx