我想重启服务的原因是因为 有时其中一个服务停止执行它所做的任务。 服务状态仍在服务控制管理器中运行。当。。。的时候 服务重新启动然后一切正常。我不知道为什么会这样 发生。我已经尝试在代码中捕获无处不在的块。数据库 连接是创建/打开/关闭/销毁等。
有什么想法吗?
答案 0 :(得分:1)
以下是您的选择:
Fix the underlying problems如果可以的话。
如果您无法解决潜在的问题(例如,您有一些非常复杂或不透明的代码),请将麻烦的代码移到单独的进程中。您的服务可以产生此过程并偶尔杀死它。给它自己的进程允许你中止它并回收资源,即使它冻结了。将服务设为simple wrapper。
如果您不想拆分代码,并且服务的要求非常适合这种情况,也许您可以将其设为简单的可执行文件,并使用{{运行它3}}而不是服务。
如果您无法修改服务本身,可以Windows Task Scheduler。