WindowsStoreApp中挂起时,程序奔溃的问题

昨天在开发windows phone 8.1程序时,发现程序在挂起的时候,会自动退出。通过调试发现错误信息是

System.Runtime.InteropServices.COMException (0x80004005): Unspecified error

GetNavigationState doesn't support serialization of a parameter type which was passed to Frame.Navigate.
   at Windows.UI.Xaml.Controls.Frame.GetNavigationState()
   at TX.WifiSurfing.Common.SuspensionManager.SaveFrameNavigationState(Frame frame)
   at TX.WifiSurfing.Common.SuspensionManager.<SaveAsync>d__0.MoveNext()
System.Collections.ListDictionaryInternal

意思是由于页面导航的参数不支持序列化,程序挂起时保存状态的时候出现了异常:

       /// <summary>
        /// 在将要挂起应用程序执行时调用。    将保存应用程序状态
        /// 将被终止还是恢复的情况下保存应用程序状态,
        /// 并让内存内容保持不变。
        /// </summary>
        private async void OnSuspending(object sender, SuspendingEventArgs e)
        {
            var deferral = e.SuspendingOperation.GetDeferral();
            await SuspensionManager.SaveAsync();
            deferral.Complete();
        }

但是我整个程序并没有在导航的时候传递对象,出现这问题很让我费解。通过查看异常页面的OnNavigatedTo方法,发现当我使用NavigateToPageAction导航的时候,如果Parameter不设置,程序会设置一个默认值,由于我是使用EventTriggerBehavior的Tapped事件触发的,Parameter被设置成了TappedRoutedEventArgs,这是一个不可序列化的对象,所以在挂起时保存状态的时候出现了错误。把它设置成Parameter=“ ”是一个解决方案(注:设置成Parameter=“”和Parameter=“{x:null}”都不可以,还是原来的默认值)。

 SuspensionManagerErrorDemo.rar

更多相关文章
  • 1.保存到Applicaion Data配置信息中: 保存: private void testTB_TextChanged(object sender, TextChangedEventArgs e) { ApplicationDataContainer localSettings = Appli ...
  • 按照网上的教程编译成功,当时运行时老是奔溃(不弹出任何提示,窗口变灰色).遂更新了ATI的显卡驱动果然可以运行了,哈哈http://support.amd.com/en-us/download/desktop/legacy?product=legacy2&os=Windows%207%20- ...
  • 同Java..NET实现的应用程序类似,Javascript编写的应用程序也面临一个同样的问题:源代码的保护.尽管对大多数Javascript应用公开源代码不算是很严重的问题,但是对于某些开发者来说,特别是HTML5.WebGL和其它纯Javascript实现的项目,知识产权保护是不能忽视的,保护好 ...
  • 新建一个oracle数据库时,当提示使用database control配置数据库时,要求在当前oracle主目录中配置监听程序等字样的时候,问题是那个监听的服务没有启动,解决方法如下: 打开cmd命令输入:lsnrctl start就把那个服务打开了.然后就可以下一步了
  • 服务器远程桌面间歇性不能连接报告一.描述:2014-08-1216:12分左右,web服务器(192.168.0.80)出现间歇性不能连接问题.而处于同一局域网内的其它服务器能通过远程桌面连接.2分钟后,服务器可以通过远程桌面可以连接.通过其它服务器再远程上去看,发现网卡流量很大.查看事件查看器,得 ...
  • 本想连照片一起上传的,这样更直观:很遗憾照片无法上传,但是也无法阻止我发文!!!slave上操作:[root@slave mysql]# tail slave.err160121 21:44:43 [Note] Event Scheduler: Purging the queue. 0 events ...
  • WinExec,ShellExecute ,CreateProcess可以实现调用其他程序的要求,其中以WinExec最为简单,ShellExecute比WinExec灵活一些,CreateProcess最为复杂.     WinExec 两个参数,前一个指定路径,后一个指定显示方式.     Sh ...
  • 使用asp.net 中使用Excel时遇到的问题:1. 访问权限    冲Perforce上用GET Lasted Version的方式获取的源码,都是readonly. 当直接运行程序访问readonly的excel文件,再读写文件的过程中并没出错,但是最终没有写入内容.当试图删除文件时,出现错误 ...
一周排行
  • User-Agent字符串是服务器判断Web客户端的重要依据. MSDN上有篇文章<Understanding User-Agent Strings> 很好,建议读一下. 以下列出IE8在不同Window ...
  • 概述 某种情况下,我们可能需要一个具有可变参数的函数,C语言提供了一种标准的实现可变参数的方法 C语言实现可变参数的方案是基于标准库的 可变参数的类型 可变参数可以放在一个集合中,可以使用指针类型的参数或引用类型的参 ...
  •       我来自山东理工大学.好程序员第一期学员,现已就业,薪资14k.我想通过简短的几句话表达此刻我内心的感受.      要感谢的人      首先,感谢老头(顾老师).女神姐姐(郭老师)给我迷茫的大学一个方向 ...
  • 战之八AD主域控宕机,额外域控如何工作
    现在我们的环境有两台域控制器,当我们主域控因为某种原因(硬件故障.机房进水.软件故障等)造 ...
  • 主DNS服务器配置实例rhel5.4下
    (软件环境:rhel5.4)DNS服务器IP:192.168.1.31,yum方式安装相应 ...
  • 探索reactnative首屏渲染最佳实践
    1.前言        react native给了我们使用javascript开发原生a ...
  • LinuxFCSAN存储服务器搭建SCSITarget(HBA卡)
      有一台高配的R730xd服务器,带有满配大容量硬盘以及SSD和两张Qlogic的HBA ...
  • 1.JDK安装 a.准备 由于AS(Android Studio)不支持openjdk,需要另行下载oracle jdk,同时官网指出对于64位linux系统,为了能在其上运行32位程序,需要安装一些软件,执行以下命 ...
  • 双网卡绑定,防止SPOF单点故障实现HA高可用性LB负载均衡
    [背景介绍]Linux双网卡绑定就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来 ...
  •        我们在思科路由器配置访问控制列表(ACL)的时候,可以看到有个time-range参数,此参数主要的作用是指定此访问控制列表生效的时间.通过time-range参数我们可以按时间段灵活地控制用户访问网络 ...