windows service 定时

namespace ProjectTest.Service
{
internal class Host
{
private static readonly string servicename = "ZDLService";
private static Timer timer;

public static void Start()
{
Host.timer = new Timer() { Interval = 3600000.0 };//36小时
Host.timer.Elapsed += new ElapsedEventHandler(Host.OnCheckPoint);
Host.timer.Start();
Task.Run((Action) (() => Host.RunTask()));
}

private static void OnCheckPoint(object sender, ElapsedEventArgs e)
{
Console.WriteLine("Service Start now");
if (DateTime.Now.Hour != 3)
return;
Host.RunTask();
}

private static void RunTask()
{ 
var myService= new YourService();  Task.Run((Action) (() =>myService.Start())); 
}
}
}
原文地址:https://www.cnblogs.com/zhoudelun/p/13744295.html