【发布时间】:2013-12-31 22:25:54
【问题描述】:
WP8,VS 2013 Live SDK (nuget) v5.5
private async void DownLoadImageFromSkyDrive(string imgUrl, Int32 number)
{
LiveConnectClient client = new LiveConnectClient(_currentSession);
var image = await client.DownloadAsync(imgUrl + "/content");
BitmapImage bitmap = new BitmapImage();
bitmap.SetSource(image.Stream);
}
执行后
var image = await client.DownloadAsync(imgUrl + "/content");
调用栈在父函数中。也不例外,但是
BitmapImage bitmap = new BitmapImage();
不执行。 代码成功了……
【问题讨论】:
-
MSDN 对称为 Task-based Asynchronous Pattern (TAP) 的
async方法提供了指导。总而言之,您应该将方法设为async Task而不是async void,将其命名为DownloadImageFromSkyDriveAsync,并将await从调用方法(“父函数”)返回的任务。
标签: c# windows-phone-8 async-await live-sdk