'mysql'没有重载匹配委托'ElapsedEventHandler'。 Windows服务C#

问题描述 投票:0回答:1

我开发了一个Windows服务,用于将文件从一个位置复制到另一个位置。

由于我需要在后台运行服务,因此需要实现定时器功能。

Service.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'。

c# windows-services
1个回答
1
投票

像这样在mysql()上设置param

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();将停止工作。

© www.soinside.com 2019 - 2024. All rights reserved.