如何使用c#每周调用一次方法

时间:2015-05-11 07:33:43

标签: c#

任何人都可以说'如何在C#控制台应用程序中每周调用一次特定方法'

谢谢。

3 个答案:

答案 0 :(得分:4)

如果您只想从外部应用程序启动代码,则可以选择Windows任务计划程序。它允许您自动启动可执行文件。

答案 1 :(得分:1)

控制台应用程序感觉像是一种脆弱的方式。我建议你将任务的调度与任务本身分开。 Windows以任务计划程序的形式内置了调度支持(完全不同于.Net TPL中的同名)。

因此,构建您的控制台应用程序并安排它每周运行一次。如果它需要在一周内保持状态,那么将其实现为可以继续运行的Windows服务。

这里的Task Scheduler API有一个很好的包装器:https://taskscheduler.codeplex.com/所以你甚至可以从.Net配置计划任务。

答案 2 :(得分:0)

您有多种选择。

我使用的是将应用程序添加到任务调度程序。在那里你可以指定它应该执行的间隔。 这种方法的缺点是你不能在另一个间隔中执行任何其他方法,除非你也将它们添加到他们自己的应用程序中。

第二个选项是使用System.Threading.Thread.Sleep 如果你想使用它,只需执行以下操作:

while(true)
{
//execute a method
System.Threading.Thread.Sleep(1000*60*60*24*7);
}

这里的缺点是如果要在休眠时间执行其他方法,则必须使用线程。