如何在 ASP.net 5.0 (MVC6) 中执行对 REST API 的请求

How to perform a request to a REST API in ASP.net 5.0 (MVC6)

我正在使用 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' 包,但是我仍然得到 "The type or namespace name 'HttpClient' could not be found" 这让我相信 HttpClient 不是在 ASP.net 5?

中执行此操作的正确方法

任何人都可以建议在 ASP.net 5 中发出 HTTP GET 请求的正确方法吗?

更新:我的问题不是 'HttpClient in ASP.NET 5.0 not found?' 的重复,因为给出的答案已经过时并且不适用于 ASP.net 5.0

的最新版本

这里有一个解决方案,我刚刚在 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 中,我在 dependencies

处添加了以下引用
  "Microsoft.Net.Http": "2.2.22"

我找到了一个部分来自 post 的答案,这个答案叫做 ' ASP.NET 5.0 中的 HttpClient 未找到?',但由于技术现在有所进步,因此存在一些缺失的差距。我在这里发布了完整的解决方案:http://blogs.msdn.com/b/martinkearn/archive/2015/06/17/using-httpclient-with-asp-net-5-0.aspx