看门狗应用困境

问题描述 投票:0回答:1

我正在为数字标牌计算机开发一个看门狗应用程序(想想带有播放广告屏幕的商店信息亭)。基本上有一个主应用程序处理所有内容处理/播放,我正在制作第二个应用程序,它将检查第一个应用程序并在崩溃时重新启动它。

我正在用 C# 做这个,我发现自己陷入了两个选择之间。

  1. 开发一个普通的控制台应用程序,该应用程序将通过任务计划程序运行并创建一个计时器,该计时器将调用一个函数来执行必要的检查和操作。同时,应用程序的主要部分将必须进入 Sleep 调用的无限 while 循环,以便应用程序不会退出。

  2. 当我研究是否可以避免

    while (true){ Thread.Sleep(1000); }
    部分时,我发现大多数回复都建议编写一个服务应用程序。

    在尝试使用 Windows 服务执行类似的操作后,我发现它无法直接访问我需要启动应用程序的用户会话。因此,它启动了该进程,但无法在屏幕上显示任何 GUI。

因此,如果 Windows 服务无法启动 GUI 应用程序,并且控制台应用程序不应在睡眠时运行计时器,是否有一个优雅的解决方案?

c# .net service
1个回答
0
投票

您可以开发一个普通的控制台应用程序,仅进行必要的检查,并让任务计划程序每 1 分钟运行一次(即可用的最短时间)

© www.soinside.com 2019 - 2024. All rights reserved.