不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
Windows服务中Timer组件Tick无法触发解决方法
编辑:dnawo 日期:2008-09-06
具体原因,微软自称是Framework的bug,但是无论是windows窗体中timer还是组件中的timer都是继承自System.Windows.Form.Timer,并不是我们需要的System.Timers,下边例子中我们来手工创建继承自System.Timers 的timer:
这样就可以触发Elapsed事件了,注册服务一切正常。
附:Visual Studio 中3种计时器说明
System.Windows.Forms.Timer:基于windows 的计时器,运行于Windows 窗体程序中。
System.Timers.Timer:基于服务的计时器,运行于服务器环境中。
System.Threading.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();
}
{
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事件了,注册服务一切正常。
附:Visual Studio 中3种计时器说明
System.Windows.Forms.Timer:基于windows 的计时器,运行于Windows 窗体程序中。
System.Timers.Timer:基于服务的计时器,运行于服务器环境中。
System.Threading.Timer:基于线程的计时器,使用回调方法而不是使用事件,并由线程池线程提供支持。
评论: 0 | 引用: 0 | 查看次数: 6072
发表评论
请登录后再发表评论!