嘿大家我对这件事有很大的疑问。我正在尝试在我的新项目中使用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);
我认为这是真正的代码,因为我在Console应用程序中编写它并且工作正常。然后我打开一个新的WindowsPhone 8项目并编写此代码。并且代码不起作用,它返回Null。有时它有效但通常不行。我认为我的Visual Studio工作不好,我删除它并重新安装它,没有任何改变。你觉得怎么样?
答案 0 :(得分: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。
答案 1 :(得分: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);