我怎样才能每天执行一次代码。 例如每天下午3点致电MyMethod()。 (如果应用程序正在运行)...
我试图在c#winforms中执行此操作。
答案 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服务。