在windows服务中如何使用定时器,试了几次都没有效果(定时器不运行),有没有好的办法
//服务开始的时候
protected override void OnStart(string[] args)
{
timer1 .Enabled =true;
}
private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
i++;
StreamWriter w=f.AppendText ();
w.WriteLine(i.ToString());
w.Close ();
}
Dim WithEvents bb As System.Timers.Timer = New System.Timers.Timer(1000)
我是这样具体操作的
protected override void OnStart(string[] args)
{
mm(); }
private void mm()
{
System.Timers.Timer t=new System.Timers.Timer (1000);
t.Elapsed+=new System.Timers .ElapsedEventHandler(oo);
t.AutoReset =false;
t.Enabled =true;
}
private void oo(object source, ElapsedEventArgs e)
{
i++;
f = new FileInfo(@"c:\\MyText.txt");
StreamWriter w=f.AppendText ();
w.WriteLine(i.ToString());
w.Close ();
}
启动服务的时候可以在C:\MyText.txt中写入一条记录
然后不管运行多久 也不会有记录产生
将timer的定义放在函数外面,试一下