Таймер не вызывает функцию повтора в моей службе Windows - PullRequest
0 голосов
/ 23 ноября 2010

Мой код выглядит следующим образом:

protected override void OnStart(string[] args)
{  

            //Set the interval of timer to 5 minutes.
            timer1.Interval = 300000;
            //Enable the timer.
            timer1.Enabled = true;

          repeatFunction();
}

И я вызвал функцию повтора внутри события timer_tick следующим образом:

private void timer1_Tick(object sender, EventArgs e)
{
     eventLog1.WriteEntry("Timer ticked");

                 repeatFunction();            
}

Но таймер не тикает. Любое тело, пожалуйста, скажите мне, где я ошибся ..

Ответы [ 2 ]

2 голосов
/ 23 ноября 2010

Ваш код выглядит следующим образом: отметьте его

Как использовать класс Timer для создания события после определенного интервала?

timer1.Interval = 5000;
timer1.Enabled = true;
timer1.Tick += new System.EventHandler (OnTimerEvent);

Написать обработчик события

Thisсобытие будет выполняться через каждые 5 секунд.

public static void OnTimerEvent(object source, EventArgs e)
{
m_streamWriter.WriteLine("{0} {1}", DateTime.Now.ToLongTimeString(),DateTime.Now.ToLongDateString());
m_streamWriter.Flush();
}

также проверьте это свойство]

Автосброс

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

1 голос
/ 23 ноября 2010

Вам необходимо привязать метод timer1_Tick к событию Elapsed таймера.

        timer.Interval = 300000;
        timer.Elapsed += new ElapsedEventHandler(timer1_Tick);
        timer.Start();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...