由于数据库问题,我工作的旧服务正在冻结。而且我正在寻找一种比解决它更简单的解决方案。
在Aplication Form Version(Delphi)中,Windows识别并显示应用程序没有响应的消息。
Windows可以识别服务何时没有响应并重新启动服务吗?
在服务属性中,恢复仅用于失败。
答案 0 :(得分:5)
在Aplication Form Version(Delphi)中,Windows识别并显示应用程序没有响应的消息。
仅当主UI线程被阻止,但您不应该在可以阻止它的主UI线程中执行任何操作。代码设计不好。
Windows可以识别服务何时没有响应并重新启动服务吗?
不是自动,不是。您需要修复数据库代码,以便它不会在第一时间冻结。如果这不是一个选项(我非常怀疑)那么你将不得不编写一个单独的监视程序线程/进程来监视你的代码/服务并在它冻结时杀死它。如果您终止整个服务,则可以使用Windows失败操作重新启动它。