1

大家好,我对这件事有一个大问题。我正在尝试在我的新项目中使用 HttpClient 方法。我试试这个代码:

        var httpClient = new HttpClient();
        var request = await httpClient.GetAsync(new Uri("http://www.google.com/",                     UriKind.RelativeOrAbsolute));
        var txt = request.Content.ReadAsStringAsync();
        MessageBox.Show(txt.Result);

我认为这是真正的代码,因为我在控制台应用程序中编写了它并且它工作正常。然后我打开了一个新的 WindowsPhone 8 项目并编写了这段代码。代码不起作用,它返回 Null。有时它会起作用,但通常不会。我认为我的 Visual Studio 工作不正常,我将其删除并重新安装,但没有任何更改。你怎么看?

4

2 回答 2

1

尝试这个。

var httpClient = new HttpClient();
        var response = await httpClient.GetAsync(new Uri("http://www.google.com/",                     UriKind.RelativeOrAbsolute));
        response.EnsureSuccessStatusCode();
        var txt = response.Content.ReadAsStringAsync();
        MessageBox.Show(txt.Result);

在该行中设置断点response.EnsureSuccessStatusCode();以确保每次响应 httpcode 为 200。

于 2014-03-03T02:54:40.380 回答
0

你不应该打电话Result。试试这个:

var httpClient = new HttpClient();
var request = await httpClient.GetAsync(new Uri("http://www.google.com/", UriKind.RelativeOrAbsolute));
var txt = await request.Content.ReadAsStringAsync();
MessageBox.Show(txt);
于 2013-07-01T16:12:57.173 回答