Windows phone 8 如何在WindowsPhone 8中使用HttpClient

Windows phone 8 如何在WindowsPhone 8中使用HttpClient,windows-phone-8,httpclient,Windows Phone 8,Httpclient,大家好,这件事我有个大问题。我正在尝试在我的新项目中使用HttpClient方法。我尝试以下代码: var httpClient = new HttpClient(); var request = await httpClient.GetAsync(new Uri("http://www.google.com/", UriKind.RelativeOrAbsolute)); var txt = request

大家好,这件事我有个大问题。我正在尝试在我的新项目中使用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);

我认为这是真实的代码,因为我在控制台应用程序中编写了它,它工作得很好。然后我打开了一个新的WindowsPhone8项目并编写了这个代码。代码不起作用,它返回Null。有时有效,但通常无效。我认为我的VisualStudio工作不好,我删除了它并重新安装了它,但什么都没有改变。你觉得怎么样?

你不应该调用
结果。请尝试以下方法:

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);

您不应该调用
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);
试试这个

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

试试这个

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

你是说
request
还是
txt
?你安装了
Microsoft.Net.Http
NuGet软件包吗?检查
request
中的错误代码,比如调用
ensureccessstatuscode()
方法。@StephenCleary是的。@KaanYurdakök太好了!这意味着,您的http请求由于某种原因无法工作。检查抛出的异常的
Message
属性以找出到底是什么错误。您是指
请求
还是
txt
?是否安装了
Microsoft.Net.Http
NuGet包?检查
请求
中的错误代码,如调用
EnsureSccessStatusCode()
方法。@StephenCleary是的,我有。@KaanYurdakök太好了!这意味着,您的http请求由于某种原因无法工作。检查抛出异常的
Message
属性,找出到底是什么错误。