【问题标题】:Schedule a C# application调度 C# 应用程序
【发布时间】:2010-08-02 10:19:33
【问题描述】:

我开发了一个应用程序来连接到 pop3 邮件,阅读电子邮件并将它们插入数据库。我需要这项服务每小时完成一次任务。有人可以帮我解决这个问题,因为我被卡住了吗?

static void Main(string[] args)
  {
   TcpClient Server;
   NetworkStream NetStrm=null;
   StreamReader RdStrm=null;
   string Data, tmpMessage="", mail="", szTemp, CRLF = "\r\n", ch="";
   byte[] szData;
   int i=0, counter=0;
   MySqlConnection connection = new MySqlConnection();
   [snip]
   Console.WriteLine(RdStrm.ReadLine());
   connection.Close();
   Console.ReadLine();
   }

我不是一个程序员,所以请原谅我对语言的不当使用。 所有的功能都在这里,但我只是不知道如何计时并让它连续运行。 非常感谢

【问题讨论】:

    标签: c# scheduled-tasks


    【解决方案1】:

    如果您想“按原样”使用您的应用程序,则可以使用 Windows 任务计划程序对其进行配置,该服务包含在每个版本的 Windows 中。

    另一种方法是创建专用的 Windows 服务,但这需要您将应用程序从控制台应用程序重写为 Windows 服务(以前称为“NT 服务”)。

    希望这会有所帮助。

    【讨论】:

    • 别忘了删除Console.ReadLine()。 :)
    • -1 用于服务。说真的 - 一个每小时运行一次的简单下载器几乎是有史以来最差的服务候选者。计划任务。
    【解决方案2】:

    忘记 Windows 服务 - 这是无情的方法。这里的主要问题是:服务始终处于活动状态。您希望一个简单的过程每小时启动一次,大概需要 2 分钟....并且在剩下的时间里不要让那个东西阻塞您的记忆。

    使用 Windows 中的任务调度程序。制作一个命令行应用程序来进行下载,使用调度程序每小时启动一次或您喜欢的任何时间表(夜间每小时一次,白天每 15 分钟一次)。完成了。

    http://en.wikipedia.org/wiki/Task_Scheduler 有一个很好的链接来说明它是如何工作的。

    【讨论】:

      【解决方案3】:

      如果您不想自己实现细节,也有不错的库,例如 DemiCode SchedulerQuartz.NET

      【讨论】:

      【解决方案4】:

      那里有很多解释如何编写服务的教程 - 我建议你从那里开始(只需在 google 中输入“C# 服务教程”)

      【讨论】:

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