2012-10-23 132 views
1

我在WP7中使用protobuf-net来序列化我的数据。WP7与Protobuf-net的墓碑

我初始化我的自定义类型在推出应用程序,但我有一个很大的问题:

如果我启动我的应用程序在后台(墓碑)几分钟,当应用程序,然后变得活跃异常是因为我还没有初始化类型。

有没有人有解决这个问题的办法?谢谢!

SOLUTION:

我解决了这样的问题:

private void Application_Activated(object sender, ActivatedEventArgs e) 
    { 
     if (!e.IsApplicationInstancePreserved) 
     { 
      // add types 

      // RuntimeTypeModel.Default.Add(......); 
     } 
    } 
+1

“它抛出,因为我没有初始化异常类型“可以更具体地说明你看到的例外情况吗?完整的错误信息将是理想的 –

+0

这样做的一个原因可能是wp7在休眠后“休眠”你的应用程序,也许?如果是这样,尝试附加一些“恢复”(我不知道这种事件的确切名称)事件,并重新运行您的自定义类型的初始化。 – psulek

+0

将“解决方案”放在下面的答案中,而不是作为编辑。这对其他人来说是很好的信息,这样问题就可以标记为“已回答” – ctacke

回答

2

我解决了这样的问题:

private void Application_Activated(object sender, ActivatedEventArgs e) 
    { 
     if (!e.IsApplicationInstancePreserved) 
     { 
      // add types 
      RuntimeTypeModel.Default.Add(...); 
     } 
    } 
+1

你不应该这样做;如果你正在使用'Serializer。*'方法,那么它会根据需要自动添加东西。然而!我还应该强调,这将是次优的,因为它表明你正在使用“全部”引擎。为了在WP7上获得最佳性能,建议使用“预编译器”和“核心”引擎。请参阅“我需要什么文件.txt” –