如何确保在崩溃时保存应用程序状态c#
发布时间:2020-12-16 00:19:13 所属栏目:百科 来源:网络整理
导读:我是c#编程的新手,所以请记住: 我有一个内存数据对象,我需要在我的应用程序崩溃或关闭时保存信息.有没有办法确定性地或可靠地做到这一点? 我一直在寻找析构函数 ~MyObjectName(){} 终结者和Dispose(), 但据我所知,这些都不能可靠地做到我想要的吗? 目前我
我是c#编程的新手,所以请记住:
我有一个内存数据对象,我需要在我的应用程序崩溃或关闭时保存信息.有没有办法确定性地或可靠地做到这一点? 我一直在寻找析构函数 ~MyObjectName(){} 终结者和Dispose(), 但据我所知,这些都不能可靠地做到我想要的吗? 目前我正在使用析构函数,它在我关闭程序时起作用,但这并不意味着它将在崩溃或总是工作. 我也应该看一下这些活动吗? 解决方法
当进程(任何进程,而不仅仅是.Net进程)终止时,没有100%可靠的机制可用于保存数据(或做任何其他事情) – 大多数进程可以在任何时候终止使用“任务管理器中的“结束进程”选项,当发生这种情况时,该进程立即被终止.作为一个更极端的例子,电源线可以从机器的后部拉出.
如果该数据对象不是100%必需的,那么一旦该进程被终止,该数据对象就是最新的并保存,那么AppDomain.UnhandledException Event就足够了. 如果绝对100%必要,那么您需要在流程运行时不断保存此信息 – 绝对没有保证您将有机会在以后这样做.这是数据库如何操作,直到某些格式(例如事务日志)将某些记录更改记录到磁盘上才会返回事务.这就是D代表ACID的内容. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |