当前位置:  开发笔记 > 编程语言 > 正文

如何在完成任务之前阻止应用程序关闭?

如何解决《如何在完成任务之前阻止应用程序关闭?》经验,为你挑选了1个好方法。

我在c#中制作了一个Windows控制台应用程序进行了一些计算.应用程序窗口对用户不可见,应用程序作为任务运行.

这些计算将保存到数据库中.不幸的是,如果用户在保存数据期间关闭此应用程序(通过关闭计算机)而不是所有数据都将被保存,我的计算将没有意义.

所以我正在寻找一些方法来防止应用程序以immadiately结束.有没有办法做到这一点?



1> Theodoros Ch..:

我相信你在这里试图解决错误的问题.

最多可以通过将其System.Threading.Thread.IsBackground属性设置为使线程使应用程序保持活动状态false.但这远非可靠,因为用户将始终能够以您无法控制的方式终止您的进程(向您的进程发送终止信号,拔出电源插头等).

相反,请注意你说你正在进行一些计算并将它们保存在数据库中,如果保存它们会中断计算"没有意义"(据我所知,你的意思是数据库的完整性)将被妥协).这听起来就像是数据库事务的用例.

我们的想法是将您的计算作为单个事务提交,并让数据库管理系统确保每个工作单元的原子性,一致性,隔离性和持久性,并保持数据库的完整性.这样做的方式取决于您的DBMS,但核心思想是一样的.

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有