如何在控制台应用程序中使用计时器?我希望我的控制台应用程序能够在后台工作,并且每隔10分钟做一些事情。例如。
我该怎么做?
由于
答案 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分钟运行一次控制台应用程序。