我正在尝试在 Windows 8 Metro App 中获取网站的内容。我仍然对异步和等待方法有点困惑。
但这就是我所拥有的:
private void HelloButton_Click(object sender, RoutedEventArgs e)
{
GetPage().Wait();
}
private async Task GetPage()
{
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync("http://www.supertext.ch");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
}
不幸的是,什么也没有发生。如果尝试调试它,它只会在 GetAsync() 处停止。
我是否需要使 HelloButton_Click 函数也异步?
即使我等待函数 GetPage() 的完成?
我可以直接从 GUI 线程调用网络请求吗?