我已经创建了Windows服务,并且希望该服务计划在每天的6:00 AM运行。
下面是我写的代码:
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
try
{
ExtractDataFromSharePoint();
}
catch (Exception ex)
{
//Displays and Logs Message
_loggerDetails.LogMessage = ex.ToString();
_writeLog.LogDetails(_loggerDetails.LogLevel_Error, _loggerDetails.LogMessage);
}
}
在上面的代码中,您可以看到在
OnStart
服务方法中,我正在调用Function ExtractDataFromSharePoint()
。我将如何安排它每天早上6:00 AM运行。 最佳答案
在这里,您有2种方法来执行您的应用程序以每天早上6点运行。
1)创建一个控制台应用程序,并通过Windows Scheduler在6 AM执行。
2)在Windows服务中创建一个计时器(System.Timers.Timer),该计时器在每个定义的时间间隔和函数中执行,您必须检查系统时间是否= 6 AM,然后执行代码
ServiceTimer = new System.Timers.Timer();
ServiceTimer.Enabled = true;
ServiceTimer.Interval = 60000 * Interval;
ServiceTimer.Elapsed += new System.Timers.ElapsedEventHandler(your function);
注意:在函数中,您不必每次都在6 AM编写代码以执行方法
关于c# - Windows服务计划每天每天凌晨6:00运行一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23926141/