每天在特定时间执行一些代码

时间:2010-03-30 10:04:23

标签: c# winforms

我怎样才能每天执行一次代码。 例如每天下午3点致电MyMethod()。 (如果应用程序正在运行)...

我试图在c#winforms中执行此操作。

4 个答案:

答案 0 :(得分:4)

任务调度程序是最佳选择。如果您需要在.NET应用程序中执行此操作,则没有组件允许您在特定时间触发事件。但是你可以设置一个Timer来每分钟引发一个事件(例如,你可以根据你的需要设置一个更小的o更大的间隔),然后在处理程序中检查当前时间,如果是3pm你可以执行你的代码,否则什么都不做。

答案 1 :(得分:2)

如果您只是想每天在同一时间运行某些内容,则可以使用内置的task scheduler

您可以设置每日计划,每天在同一时间执行您的应用程序。

否则,在您的应用程序中,您需要设置timer并检查当前时间为下午3点的刻度事件,并且仅在此时调用您的方法。

我会建议使用Windows服务,但正如您所说,如果应用程序已在运行,您只需要运行该方法,则不需要这样做。

答案 2 :(得分:2)

Windows服务和计时器!

查看codeproject的简单Windows服务器:

http://www.codeproject.com/KB/dotnet/simplewindowsservice.aspx

答案 3 :(得分:2)

或者如果您想要更多控制权,可以创建Windows服务。只需继承System.ServiceProcess.ServiceBase并在OnStart覆盖上添加一个计时器。在机器上安装Windows服务。