【问题标题】:How to make exe run as scheduled task如何让exe按计划任务运行
【发布时间】:2015-11-12 23:39:53
【问题描述】:

我在 C# 中创建了一个 WinForm 项目,并添加了一个名为 Loader.cs 的代码文件。在该文件中,我有一个名为 LoadData() 的方法。我从项目中删除了默认的“Form1”,更改了 Main() 中的逻辑以运行 LoadData() 方法。在我的 VS2008 IDE 中运行时,这一切都有效。然后,我构建为 Release 并将生成的 .exe 移动到另一台机器,并设置一个计划任务,每小时触发一次,动作指向 .exe,并以 /Auto 作为参数。该任务什么都不做,只是坐着运行,不做任何处理。我必须最终结束任务。如果手动运行也一样。如果我从它所在的文件夹中双击 exe,它什么也不做。我怎样才能让这个 exe 作为计划任务运行,甚至独立运行?

在 Program.cs 中:

static class Program
{
    [STAThread]
    static void Main()
    {
        Loader lc = new Loader();
        lc.LoadData();
    }
}

在 Loader.cs 文件中:

    public void LoadData()
{
   // ...processing
}

【问题讨论】:

  • 我会尝试将 try { } catch { } 放在您的 main 中并编写异常(如果发生在磁盘上进行检查)
  • 好吧,如果它在第二台机器上运行正常时失败,这与它是计划任务无关。查看事件日志,确保您没有吞下代码中的任何异常后添加一些诊断日志记录。
  • 看看这个quartz-scheduler.net
  • 什么是Loader 是实际的任务调度程序..?如果是,那么您需要删除该代码并将任务调度程序指向 .exe 并让它调用您的 winforms .exe 应用程序
  • 在 Main 及其 WCF 端点中添加了日志记录。

标签: c# .net winforms scheduled-tasks exe


【解决方案1】:

我会尝试将 try { } catch { } 放在您的 main 中并检查异常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多