Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当导航参数是复杂对象时,挂起后应用程序崩溃_C#_Silverlight_Windows Store Apps - Fatal编程技术网

C# 当导航参数是复杂对象时,挂起后应用程序崩溃

C# 当导航参数是复杂对象时,挂起后应用程序崩溃,c#,silverlight,windows-store-apps,C#,Silverlight,Windows Store Apps,我正在使用Windows 8应用程序(Windows应用商店应用程序)。我有一个带有两个导航参数的页面: if (navigationParameter is int) { BindByBoxId(navigationParameter); } else if (navigationParameter is Word) { BindByWordObject(navigationParameter as Word); } 当应用程序以integer作为导航参数进入页面时,在应

我正在使用Windows 8应用程序(Windows应用商店应用程序)。我有一个带有两个导航参数的页面:

if (navigationParameter is int)
{
     BindByBoxId(navigationParameter);
}
else if (navigationParameter is Word)
{
     BindByWordObject(navigationParameter as Word);
}
当应用程序以integer作为导航参数进入页面时,在应用程序进入挂起模式后一切正常,但是,当导航参数为word对象(复杂对象)时,当运行
OnSuspending
事件处理程序时,应用程序崩溃

通过进一步调查
SuspensionManager
类中代码的以下部分中的问题:

 private static void SaveFrameNavigationState(Frame frame)
 {
      var frameState = SessionStateForFrame(frame);
      frameState["Navigation"] = frame.GetNavigationState();
 }
问题是“GetNavigationState”。中的方法说明提到了以下事实:

注意,这些方法使用的序列化格式仅供内部使用。你的应用不应该对它形成任何依赖关系。此外,此格式仅支持字符串、字符、数字和GUID类型等基本类型的序列化


请告诉我如何解决我的问题。

我意识到这已经很晚了,但以下是未来任务的解决方案:


您需要自己序列化对象。您可以使用类似于
DataContractSerializer
XmlSerializer
,或者Json.NET之类的大型库。然后,保存的对象只是一个字符串。在加载状态下,您可以反序列化字符串,这样就可以开始了。

我意识到这已经很晚了,但下面是未来任务的解决方案:


您需要自己序列化对象。您可以使用类似于
DataContractSerializer
XmlSerializer
,或者Json.NET之类的大型库。然后,保存的对象只是一个字符串。在加载状态下,对字符串进行反序列化,就可以开始了。

帧代码声明是什么样子的。。?您可以在frame.getNavigationState上键入什么是
BindByWordObject
它是在哪里定义的。。请显示定义此的位置声明..存在相同问题您的框架代码声明是什么样子的。。?您可以在frame.getNavigationState上键入什么是
BindByWordObject
它是在哪里定义的。。请显示您在何处定义此..的声明。具有相同的问题