加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 调用SuspensionManager.SaveAsync()时出现异常

发布时间:2020-12-15 05:36:59 所属栏目:百科 来源:网络整理
导读:我正在构建一个 Windows 8应用程序,并提出以下异常: SuspensionManager failed 运行以下代码时: private async void OnSuspending(object sender,SuspendingEventArgs e){ var deferral = e.SuspendingOperation.GetDeferral(); await SuspensionManager.S
我正在构建一个 Windows 8应用程序,并提出以下异常:

SuspensionManager failed

运行以下代码时:

private async void OnSuspending(object sender,SuspendingEventArgs e)
{
    var deferral = e.SuspendingOperation.GetDeferral();
    await SuspensionManager.SaveAsync();
    deferral.Complete();
}

该方法的第三行发生异常,并没有真正提供任何细节.

我在网上找不到任何有用的东西.谁看过这个吗?

//编辑

这可能与我使用Windows 8 Facebook SDK的动态类型变量这一事实有关.

是不允许动态变量?

//编辑2

这是动态变量的用法:

dynamic result = await FB.GetTaskAsync("fql",parameters);
if (result.data.Count > 0)
{
    return result.data[0].src_big as string;
}

以及异常的调用堆栈:

mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task task) + 0x5e bytes  
mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task) + 0x35 bytes 
mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.GetResult() + 0x16 bytes   
FacebookRandomizer.exe!FacebookRandomizer.App.OnSuspending(object sender,Windows.ApplicationModel.SuspendingEventArgs e) Line 86 + 0xa5 bytes  C#
[Native to Managed Transition]

前三个是外部代码,第四个是我在App.xaml.cs中的方法.

解决方法

找到了答案,这完全不是Facebook-sdk的相关内容.

我在暂停时在pageState中保存了一个Bitmap图像,显然这不起作用.

这是旧代码:

BitmapImage img = RandomImage.ImageSource as BitmapImage;
pageState["currentImage"] = img;

和新的:

BitmapImage img = RandomImage.ImageSource as BitmapImage;
Uri uriSource = img.UriSource;
pageState["currentImage"] = uriSource;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读