TimerTick никогда не сработает - PullRequest
0 голосов
/ 15 мая 2019

Я создал простой класс, который будет вести себя как мой класс обслуживания, потому что я включил этот класс в Topshelf.

Класс прост, он просто импортирует некоторые файлы в БД и печатает его после него.

Вот определение:

class ConverterService
{
    private FileSystemWatcher _watcher;

    private readonly System.Timers.Timer timer;

    public ConverterService()
    {
        ImportAllFiles();

        timer = new System.Timers.Timer(10){AutoReset = true};
        timer.Elapsed += Timer_Elapsed;
    }

    private void Timer_Elapsed(object sender, ElapsedEventArgs e)
    {
        try
        {
            PrintFiles();
        }
        catch(Exception ex)
        {

        }
    }

Но проблема в том, что Timer_Elapsed никогда не выполняется .. Я не знаю почему ..

ImportAllFiles() срабатывает успешно, но метод Timer_Elapsed никогда не запускается, и я хотел запускать этот метод каждую секунду, например

Спасибо, ребята Приветствия

1 Ответ

3 голосов
/ 15 мая 2019

Вам нужно вызвать таймер Start():

timer = new System.Timers.Timer(10){AutoReset = true};
timer.Elapsed += Timer_Elapsed;
timer.Start();

или альтернатива:

timer.Enabled = true;
...