comment avoir une fonction à exécuter à l'intérieur d'un service toutes les 10 minutes?

J'ai un service windows en cours d'exécution, à l'intérieur de ce que je souhaite exécuter une fonction toutes les puis les minutes.
J'ai trouvé un peu de code, mais il ne semble pas fonctionner?
J'ai un enregistreur, et il ne semble pas aller dans le timer_Elapsed fonction jamais?

 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();
        }
    }
InformationsquelleAutor Beginner | 2012-04-18