如何在控制台应用程序中使用计时器?

时间:2009-04-16 21:14:50

标签: c# timer console-application

如何在控制台应用程序中使用计时器?我希望我的控制台应用程序能够在后台工作,并且每隔10分钟做一些事情。例如。

我该怎么做?

由于

2 个答案:

答案 0 :(得分:4)

控制台应用程序不一定意味着长时间运行。话虽如此,你可以做到。要确保控制台不仅仅是退出,您必须在Console.ReadLine上安装控制台循环以等待某些退出字符串,例如“退出”。

要每10分钟执行一次代码,请调用System.Threading.Timer并将其指向执行方法,间隔为10分钟。

public static void Main(string[] args)
{
    using (new Timer(methodThatExecutesEveryTenMinutes, null, TimeSpan.FromMinutes(10), TimeSpan.FromMinutes(10)))
    {
        while (true)
        {
            if (Console.ReadLine() == "quit")
            {
                break;
            }
        }
    }
}

private static void methodThatExecutesEveryTenMinutes(object state)
{
    // some code that runs every ten minutes
}

修改

我喜欢Boj对你的问题的评论。如果您确实需要长时间运行的应用程序,请考虑将其作为Windows服务的开销。有一些开发开销,但是你可以获得一个更稳定的平台来运行你的代码。

答案 1 :(得分:2)

您可以使用Windows任务计划程序每10分钟运行一次控制台应用程序。