[摘抄]windows服务中的定时器timer使用
2008-12-24 14:18 Virus-BeautyCode 阅读(1412) 评论(0) 编辑 收藏 举报
本文摘抄自:
http://www.cnblogs.com/seyon/archive/2007/06/29/800304.html
原作者:seyon
感谢作者的共享
内容:
http://www.cnblogs.com/seyon/archive/2007/06/29/800304.html
原作者:seyon
感谢作者的共享
内容:
具体原因,微软自称是Framework的bug,具体原因在:
http://www.cnblogs.com/Missvv/archive/2007/03/11/670797.html
但是无论是windows窗体中timer还是组件中的timer都是继承自System.Windows.Form.Timer,并不是我们需要的System.Timers ,继承自System.Timers 的timer只有手动创建
http://www.cnblogs.com/Missvv/archive/2007/03/11/670797.html
但是无论是windows窗体中timer还是组件中的timer都是继承自System.Windows.Form.Timer,并不是我们需要的System.Timers ,继承自System.Timers 的timer只有手动创建
public Service1()
{
InitializeComponent();
System.Timers.Timer t = new System.Timers.Timer(200);//实例化Timer类,设置间隔时间为10000毫秒;
t.Elapsed += new System.Timers.ElapsedEventHandler(theout);//到达时间的时候执行事件;
t.AutoReset = true;//设置是执行一次(false)还是一直执行(true);
t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;
}
public void theout(object source, System.Timers.ElapsedEventArgs e)
{
SqlConnection conn = new SqlConnection("Server=.;UID=eaglesoft;PWD=password;DataBase=exchange");
SqlCommand comm = new SqlCommand("INSERT INTO op_album(album_name,album_score,album_picscr) VALUES('1','2','3')", conn);
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
}
这样就可以触发Elapsed事件了,注册服务一切正常,能触发该事件{
InitializeComponent();
System.Timers.Timer t = new System.Timers.Timer(200);//实例化Timer类,设置间隔时间为10000毫秒;
t.Elapsed += new System.Timers.ElapsedEventHandler(theout);//到达时间的时候执行事件;
t.AutoReset = true;//设置是执行一次(false)还是一直执行(true);
t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;
}
public void theout(object source, System.Timers.ElapsedEventArgs e)
{
SqlConnection conn = new SqlConnection("Server=.;UID=eaglesoft;PWD=password;DataBase=exchange");
SqlCommand comm = new SqlCommand("INSERT INTO op_album(album_name,album_score,album_picscr) VALUES('1','2','3')", conn);
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
}