gpt4 book ai didi

c# - 如何防止应用程序在完成任务前关闭?

转载 作者:行者123 更新时间:2023-11-30 14:08:38 26 4
gpt4 key购买 nike

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

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

所以我正在寻找一些方法来防止应用程序立即关闭。有什么方法可以做到吗?

最佳答案

我相信您试图在这里解决错误的问题。

至多,您可以通过设置线程的 System.Threading.Thread.IsBackground 来使线程保持应用程序事件。属性为 false。但这远非可靠,因为用户总是能够以您无法控制的方式终止您的进程(向您的进程发送终止信号、拔下电源插头等)。

相反,请注意你是说你正在做一些计算并将它们保存在数据库中,如果保存它们被中断,计算“将没有意义”(据我了解,你的意思是完整性的数据库将受到损害)。这听起来很像 database transactions 的用例.

想法是您将计算作为单个事务提交,并让数据库管理系统确保 atomicity, consistency, isolation and durability每个工作单元并保持数据库的完整性。执行此操作的方法取决于您的 DBMS,但核心思想是相同的。

关于c# - 如何防止应用程序在完成任务前关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34421659/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com