【问题标题】:LiveConnectClient | DownloadAsync crashes without an exceptionLiveConnect 客户端 | DownloadAsync 无异常崩溃
【发布时间】: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


【解决方案1】:

或尚未执行...您的函数是一个没有返回值的async 方法。它不会阻止调用者。另外我相信async void 不会将异常传递给调用者。将try catch 块放入DownLoadImageFromSkyDrive 以查看发生了什么。

【讨论】:

  • 确实还没执行!
猜你喜欢
  • 2022-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多