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文件,再读写文件的过程中并没出错,但是最终没有写入内容.当试图删除文件时,出现错误 ...
一周排行
  • 通过案例学调优之--分区表基本概念
    通过案例学调优之--分区表基本概念Introduction to Partitioning ...
  • DWZ富客户端框架(jQuery RIA framework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架.DWZ富客户端框架设计目标是简单实用.扩展方便.快速开发.RIA思路.轻量级DWZ支 ...
  • 零基础学JAVAJavaSE应用部分-32.Java网络编程
    C/S程序:表示的客户/服务器程序,每次需要编写两套程序 |- MSN.QQ:一般会有两套 ...
  • 如何获得数据库里所有表的名字平时我们操作比较多的都是表里的数据,也许突然有一天会需要把所有表的名字都列出来看一看--比如,你的论坛是按每个版块一个表来管理的,这时候你要在首页列出各版块的名字.应该怎么办呢?肯定得用S ...
  • 本文的实现环境:      os:ubuntu9.04      ip92.168.1.11 drbd1      ip92.168.1.12 drbd2      disk:/dev/sdb1(一个8G ...
  • WAIK包含工具简介
    WAIK版本历史  包含的工具:(1)Windows映像管理器 (2)sysprep (3 ...
  • 网易面试总结(2014.12.31)
    先po一张面试地点的图 投简历到网易是很久之前的事了,在某一段时间内,一直关注投递反馈,一 ...
  •  制作图文并茂课件技巧  文科类的课件,例如语文.英语.历史.美术鉴赏等,都可以有一个通用标准:页面字少,突出重点:尽量在教案中归纳出关键词,在课件中只放关键词即可.  有创意的文字处理:可以试着把某些重点文字放大, ...
  •   按照MEF的约定,任何一个类或者是接口的实现都可以通过[System.ComponentModel.Composition.Export] 属性将其他定义组合部件(Composable Parts),在任何需要导 ...
  • zabbix默认支持支持对dns记录值的监控,创建监控项:key值可获到对应的记录net.dns.record[114.114.114.114,www.baidu.com,A,2,1]创建触发器:{DNS:net.d ...