我在发出 Web 请求时尝试使用 Async 和 Await,但发现它永远不会超过 await 行。我是从 Metro 应用程序中执行此操作的,但我也在 winforms 应用程序中验证了该问题。
public async Task<string> DoSomething()
{
string url = "http://imgur.com/gallery/VcBfl.json";
HttpWebRequest request = HttpWebRequest.CreateHttp(url);
var ws = await request.GetResponseAsync();
return ws.ResponseUri.ToString(); ;
}
如果我不使用 await 而是执行同步等待,它可以工作,但我需要它异步运行。
我在这段代码中遗漏了什么导致等待永远不会返回?