2009-06-29 160 views
1

我正在用.NET Compact Framework 3.5開發一個使用C#的移動應用程序。 它需要將狀態存儲在內存中,即如果應用程序崩潰,應用程序必須重新啓動到崩潰前的狀態。如何在應用程序中存儲應用程序的移動狀態?

所有業務邏輯也必須存儲以及表單。 我想知道是否有簡單的方法來管理這種功能,你有任何線索? 序列化是否正確?

謝謝。

+1

恢復*相同*狀態時不會再次使應用程序崩潰嗎?如果你的意思是「一個更早的清理狀態」,你不應該看一個事務數據庫嗎? – reto 2009-06-29 08:28:25

回答

1

起初,您不應該將狀態存儲在RAM中,因爲它在崩潰後會丟失。相反,您必須使用像存儲崩潰那樣的非易失性內存。寫這種媒體很慢,所以你必須採取相應的行動。

我看到一些設備有一個恢復應用程序,可以配置爲每一段時間將RAM的整個內容複製到閃存中。硬重置後,它可以將整個設備放到原來的位置(至少在最後一次RAM複製之前)。

也許這種事情對你來說太過分了。正如你所說的,它可以更簡單地將所有對象序列化並定期將它們複製到閃存中。這將是你的責任,重複和不是。在以前的狀態下初始化應用程序也是您的責任。