wie man eine Funktion innerhalb eines service-alle 10 Minuten?

Ich habe einen windows-Dienst ausgeführt wird, in diesem möchte ich eine Funktion auszuführen, die jeder dann die Minuten.
Ich habe einige code, aber es scheint nicht zu funktionieren?
Ich habe einen logger und scheint es nicht zu gehen in die timer_Elapsed Funktion überhaupt?

 protected override void OnStart(string[] args)
    {
       //SmartImportService.WebService.WebServiceSoapClient test = new WebService.WebServiceSoapClient();
       //test.Import();
         log.Info("Info - Service Started");
        _timer = new Timer(10 * 60 * 1000); //every 10 minutes??
        _timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
    }

    private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
    {
        log.Info("Info - Check time");
        DateTime startAt = DateTime.Today.AddHours(9).AddMinutes(48);
        if (_lastRun < startAt && DateTime.Now >= startAt)
        {
            //stop the timer 
            _timer.Stop();               

            try
            {
                log.Info("Info - Import");
                SmartImportService.WebService.WebServiceSoapClient test = new WebService.WebServiceSoapClient();
                test.Import();
            }
            catch (Exception ex) {
                log.Error("This is my error - ", ex);
            }

            _lastRun = DateTime.Now;
            _timer.Start();
        }
    }
Müssen Sie rufen Sie start auf dem Timer?
siehe stackoverflow.com/questions/246697/windows-service-and-timer
ahhh yeeeeeeeee
warum? DateTime.Today.AddHours(9).AddMinutes(48);

InformationsquelleAutor Beginner | 2012-04-18

Schreibe einen Kommentar