我已经创建了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/

10-13 02:53