Никакая перегрузка для 'mysql' не соответствует делегату 'ElapsedEventHandler'. Windows Service C # - PullRequest
0 голосов
/ 14 сентября 2018

Я разработал службу 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'.

1 Ответ

0 голосов
/ 14 сентября 2018

установить параметр на 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 (); остановит работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...