2012-10-23 362 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」 –