计时器没有在我的Windows服务中调用重复功能

时间:2010-11-23 07:50:02

标签: c# windows service timer

我的代码如下:

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事件中调用了repeat函数,如下所示:

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

                 repeatFunction();            
}

但计时器没有滴答作响。请告诉我哪里出错了。

2 个答案:

答案 0 :(得分:2)

您的代码是这样的:检查

如何使用Timer类在一定间隔后引发事件?

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

编写事件处理程序

此事件将在每5秒后执行一次。

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

还要检查此属性]

<强>自动复位

指示每次指定的Interval过去时Timer是否引发Tick事件,或者在第一个间隔过去之后是否仅引发一次Tick事件。

答案 1 :(得分:1)

您需要将timer1_Tick方法绑定到计时器Elapsed事件。

        timer.Interval = 300000;
        timer.Elapsed += new ElapsedEventHandler(timer1_Tick);
        timer.Start();