Проблема запуска таймера на службе Windows - PullRequest
0 голосов
/ 14 июля 2011

У меня проблема с получением кода для запуска через системный таймер в службе, ну, на самом деле таймер не срабатывает, однако приведенный ниже код не будет работать.

    protected override void OnStart(string[] args)
    {
        EventLog.WriteEntry("Service Started");
        //ad 1: handle Elapsed event 
    timer.Elapsed += new ElapsedEventHandler(OnElapsedTime);

    //ad 2: set interval to 1 minute (= 60,000 milliseconds)

    timer.Interval = 60000;
    timer.AutoReset = true;
    //ad 3: enabling the timer
    timer.Enabled = true;
    }

    protected override void OnStop()
    {
        timer.Enabled = false;
    }




    private void OnElapsedTime(object source, ElapsedEventArgs e)
         {
            EventLog.WriteEntry("TIMER FIRED");
            string[] filepaths = Directory.GetFiles(path, Filetype);
            string result;

            // Process Each String/File In Directory
            foreach (string s in filepaths)
            {
                for (int i = 0; i < filepaths.Length; i++)
                {
                    //Result Returns Video Name
                    result = Path.GetFileNameWithoutExtension(filepaths[i]);

                    PreformTranslation(filepaths[i], outputPath + result);

                    if (File.Exists(path + result))
                    {
                        MoveVideoFiles(path + result, outputPath + result);
                    }
                }
            }
         }

Итак, из средства просмотра событий я вижу, что он фактически отправляет «Таймер сработал» каждую минуту, но не предшествует запуску любого из приведенного ниже кода.Без таймера код работает так, как должен, поэтому изначально я просто пытался вызвать метод, но когда это не сработало, я просто поместил код в обработчик событий, надеясь, что он изменится.Я думаю, что уже потерял, когда я прибегаю к надежде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...