gpt4 book ai didi

c# - 保持应用程序一直运行

转载 作者:可可西里 更新时间:2023-11-01 10:07:35 25 4
gpt4 key购买 nike

基本上我需要我的应用程序从系统启动一直运行到系统关闭。我想出了以下方法:

  1. 创建 MyApp.exe 和 MyService.exe
  2. MyApp 应该将 MyService 安装为服务
  3. MyService 应该在启动时运行并定期检查 MyApp 是否正在运行。如果不是,那就开始吧。

这是我为我的服务编写的代码:

protected override void OnStart(string[] args)
{
while(true)
{
int processesCount =
Process.GetProcessesByName(Settings.Default.MyAppName).Count() +
Process.GetProcessesByName(Settings.Default.MyAppName + ".vshost").Count() +
Process.GetProcessesByName(Settings.Default.MyAppUpdaterName).Count();

if(processesCount==0)
{
//restore
var p = new Process { StartInfo = { FileName = Settings.Default.MyAppName, Arguments = "" } };
p.Start();
}
else
{
}

System.Threading.Thread.Sleep(3000);
}
}
  1. 如何安装此进程,使其在 Windows 启动时启动?
  2. 我不确定 OnStart 方法中的这个无限循环是否是个好主意。是吗?
  3. 总体思路还好吗?

最佳答案

我所做的是拥有一个运行逻辑和主要应用程序代码的 Windows 服务。然后,如果您需要一个 GUI,让 Windows 服务通过 WCF 公开一个 Web 服务,并创建一个调用该 Web 服务的 Windows 应用程序。安装时,将您的 Windows 应用程序放入 Windows 启动。

此模型将始终运行主要应用程序代码,但 GUI 仅在用户登录时启动。

关于c# - 保持应用程序一直运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12984044/

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