【问题标题】:How to make C# app similar to Windows Service?如何使 C# 应用程序类似于 Windows 服务?
【发布时间】:2021-01-13 16:47:31
【问题描述】:

我做了一个运行良好的 Windows 服务,除了一件事:它不能运行 EXE 程序...

我的应用程序需要每 60 秒检查一次来自串行端口的一些数据,如果条件匹配,则运行 EXE 程序。

我尝试像在 Windows 服务中一样在 C# 应用程序中使用计时器,但我无法触发事件 timer_elapsed...

我怎样才能做类似于 Windows 服务的事情并能够运行我的 EXE 程序?

【问题讨论】:

  • 请编辑您的帖子并包含您已经尝试过的内容,并详细解释哪些内容不起作用。另外,请说明您的预期结果。
  • 将服务转换为控制台 EXE,然后使用任务计划程序安排其运行。
  • Windows Server 可能使用没有任何环境属性的系统凭据运行。所以exe的位置将和服务exe在同一个文件夹中。您需要添加可执行文件的完整路径。您可能还需要将服务设置为以管理员身份运行。

标签: c# .net windows windows-services


【解决方案1】:

使用 Windows 任务计划程序设置您的 .EXE 以按时间间隔运行。然后,在.EXE 程序中,有类似下面的内容:

if(condition is met) 
{
    // EXECUTE PROGRAM HERE
}
else 
{
   // EXIT PROGRAM
}

【讨论】:

  • 任务计划程序似乎是最好的选择,我仍然努力让它在每种情况下都触发,但我没有找到更好的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-11
  • 1970-01-01
相关资源
最近更新 更多