我开发了一个 Windows 服务,用于将文件从一个位置复制到另一个位置。由于我需要在后台运行服务,因此有必要实现计时器功能。服务.cs protected override void OnStart(string[] args) { //OnStart(new string[0]); } public void Start() { timer1 = new Timer(); this.timer1.Interval = 30000; //every 30 seconds 41 ***this.timer1.Elapsed += new System.Timers.ElapsedEventHandler(this.mysql);*** timer1.Enabled = true; 43 mysql(); } static void mysql() { **File copy code included in this function. }上面提到的第 41 行中的错误触发是,“mysql”没有重载匹配委托“ElapsedEventHandler”。
1 回答
慕容森
TA贡献1853条经验 获得超18个赞
像这样在 mysql() 上设置参数
static void mysql(object sender, ElapsedEventArgs e)
我希望这个对你有用 :)
++ 通过评论添加
此代码将允许计时器以间隔工作
在 Start() 中添加此代码
this.timer1.Interval = 1000; this.timer1.Tick += new System.EventHandler(this.mysql_tick);
并从 Start() 中添加此代码
private void mysql_tick( object sender, EventArgs e ){blah blah... }
++ 之后你需要使用 timer1.Start(); 使用 mysql_tick
++ timer1.Stop(); 将停止工作。
- 1 回答
- 0 关注
- 327 浏览
添加回答
举报
0/150
提交
取消