加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何确保在崩溃时保存应用程序状态c#

发布时间:2020-12-16 00:19:13 所属栏目:百科 来源:网络整理
导读:我是c#编程的新手,所以请记住: 我有一个内存数据对象,我需要在我的应用程序崩溃或关闭时保存信息.有没有办法确定性地或可靠地做到这一点? 我一直在寻找析构函数 ~MyObjectName(){} 终结者和Dispose(), 但据我所知,这些都不能可靠地做到我想要的吗? 目前我
我是c#编程的新手,所以请记住:

我有一个内存数据对象,我需要在我的应用程序崩溃或关闭时保存信息.有没有办法确定性地或可靠地做到这一点?

我一直在寻找析构函数

~MyObjectName(){}

终结者和Dispose(),

但据我所知,这些都不能可靠地做到我想要的吗?

目前我正在使用析构函数,它在我关闭程序时起作用,但这并不意味着它将在崩溃或总是工作.

我也应该看一下这些活动吗?

解决方法

当进程(任何进程,而不仅仅是.Net进程)终止时,没有100%可靠的机制可用于保存数据(或做任何其他事情) – 大多数进程可以在任何时候终止使用“任务管理器中的“结束进程”选项,当发生这种情况时,该进程立即被终止.作为一个更极端的例子,电源线可以从机器的后部拉出.

如果该数据对象不是100%必需的,那么一旦该进程被终止,该数据对象就是最新的并保存,那么AppDomain.UnhandledException Event就足够了.

如果绝对100%必要,那么您需要在流程运行时不断保存此信息 – 绝对没有保证您将有机会在以后这样做.这是数据库如何操作,直到某些格式(例如事务日志)将某些记录更改记录到磁盘上才会返回事务.这就是D代表ACID的内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读