Я работаю над устаревшим 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 миллисекунд?