【问题标题】:Is it possible to restart the windows service programmatically from the service itself ? Or should I chose some other approach? [duplicate]是否可以从服务本身以编程方式重新启动 Windows 服务?还是我应该选择其他方法? [复制]
【发布时间】:2026-01-20 17:25:01
【问题描述】:

我想重启服务的原因是 有时其中一项服务会停下来完成它所要完成的任务。 服务状态仍在服务控制管理器中运行。当。。。的时候 服务重新启动,然后一切正常。我不知道为什么 正在发生。我在代码中尝试并捕获块 everywhere。数据库 连接被创建/打开/关闭/销毁等。

有什么想法吗?

【问题讨论】:

  • 回答您的问题“或者我应该选择其他方法吗?” 。您应该解决根本问题。你怎么知道(可靠地)何时重启? 会重新启动它?

标签: c# windows vb.net windows-services


【解决方案1】:

以下是您的选择:

  1. Fix the underlying problems 如果可以的话。

  2. 如果您无法解决根本问题(例如,您有一些极其复杂或不透明的代码),请将麻烦的代码移至单独的进程。您的服务可以生成此进程并偶尔终止它。给它自己的进程允许你中止它并回收资源,即使它冻结了。将服务设为simple wrapper

  3. 1234563 .
  4. 如果不能修改服务本身,可以restart the service programmatically

【讨论】:

    最近更新 更多