我正在使用.NET Compact Framework 3.5开发C#移动应用程序。它需要将状态存储在内存中,即,如果应用程序崩溃,则该应用程序必须在崩溃之前重新启动进入该状态。
所有业务逻辑以及表单也必须存储。有一种简单的方法来管理这种功能吗?序列化是正确的做法吗?
起初,您不应该将状态存储在RAM中,因为状态在崩溃后会丢失。相反,您必须使用非易失性内存,例如存储崩溃。写入这种介质的速度很慢,因此您必须采取相应的措施。
我已经看到一些具有恢复应用程序的设备,可以将其配置为每隔一段时间将RAM的全部内容复制到闪存中。硬重置后,它可能会使整个设备恢复原状(至少在上次复制RAM之前)。
也许这种事情对你来说太过分了。正如您所说的,序列化所有对象并定期将它们复制到闪存可能更简单。重复和不重复是您的责任。您也有责任在初始状态下初始化应用程序。