我怎样才能确保我的程序总是 运行 并且如果计算机重新启动或进程终止它可以自动重新启动?

How can I make sure that my program can always be running and if the computer restarts or the process dies it can start again automatically?

我有一个程序需要一直 运行 在服务器上。这个想法是,如果服务器在任何时候重新启动或由于任何原因程序关闭,它可以自动重新启动。

服务器有一个 windows 10 安装程序,为了自动启动它,我将它放在启动程序中,但是如果您手动关闭程序或终止进程,有什么方法可以自动重新开始?

该程序是 vb.net 开发的 windows 形式;是否有必要向项目添加一些东西,或者是否有必要接触 windows 服务?

谢谢,如果我的英语不完美,那不是我的母语,请原谅我

该程序的功能在于当某个目录中引入文件时,它会跳转事件并对其进行一系列更改,将其添加到数据库中,然后更改目录。由于此功能,我必须始终保持它 运行 并且永不停止

Windows 服务是你的赌注。您可以构建配套服务,并同时使用它们来相互关注以确保它们始终 运行.

构建 Windows 服务的最简单方法是使用 TopShelf。如果您的应用程序需要 GUI,您可以在 Windows 服务中构建一个自托管的 WCF 服务,并将该 GUI 作为您的 WCF 客户端。

这是一个显示 how to self-host your WCF Service 的简单示例。

正如其他人所写,进入服务器的最佳方式是为程序提供 windows 服务和一些额外的 "watchdog" 配套服务(其中 2 个实例)以密切关注每个其他和主程序。

但是,如果您想继续使用现有的 windows 表单程序,还有另一种非常简单的方法:

  • 使用 windows 任务计划程序(在开始菜单中键入 taskschd.msc)。
  • 在某些用户帐户下将程序配置为 运行。用户不需要登录,但是如果你想看到 UI 那么最好让他登录。
  • 在其中一个配置选项卡上有一个设置,如果它已经 运行ning,则不启动程序的新实例。
  • 让任务 运行 每分钟一次,无限期(在触发器配置中设置)。您可以 运行 多于一分钟一次,但这需要导出任务配置,手动编辑它,而不是再次重新导入它。

祝你好运!