Метод запуска WPF в отдельном потоке с таймером - PullRequest
0 голосов
/ 23 октября 2019

Я работаю над устаревшим wpf-приложением в реальном времени, которое читает данные из plc. В основном в основном методе есть DispatcheTimer следующим образом:

DispatcherTimer timer = new DispatcherTimer(DispatcherPriority.Background);
timer.Tick += Timer_Tick;
timer.Interval = new TimeSpan(0, 0, 0, 100);
timer.Start();

и метод:

private void Timer_Tick(object sender, EventArgs e)
{   
    ReadDataFromPLC();
    RefreshProduction();
}

Моя проблема заключается в том, что я хочу удалить RefreshProduction () потому что, поскольку он выполняет проверку файловой системы и сети, иногда он вешает все приложение ( es: сетевые пути недоступны ). Я думал об использовании другого потока для этого метода, но как?

Или BackgroundWorker, который работает и то же время обновления основного таймера? в случае потока, как я мог справиться с огнем RefreshProduction () каждый X миллисекунд?

...