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を使用せず、代わりに同期待機を実行すると機能しますが、非同期で実行するにはこれが必要です。
このコードには何が欠けているので、awaitが二度と戻らないのですか?