обработчик изменения данных в C#

#c# #.net

#c# #.net

Вопрос:

Я буду использовать обработчик изменения данных 128 для получения обновлений OPC-сервера, но только 2 работают нормально, а другой не работает. Он остановится через 15 минут. Пожалуйста, скажите мне, сколько обработчиков изменений данных будет работать в одном приложении. Обработчик изменения данных работает так же, как поток таймера; он будет вызван через 250 миллисекунд.

 private void DataChangeHandler(object sender, DataChangeEventArgs e)
{
    // The invoke handling is only required when
    // the callback handler writes data into Windows dialogs
    try
    {                           
        if (InvokeRequired)
        {
            BeginInvoke(new DataChangeEventHandler(DataChangeHandler),
                new object[] { sender, e });
            //  return;
        }
        if (parameter.X == 0)
        {
            parameter.X = 1;
            Thread th = new Thread(param.update);
            th.Start(e);
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}
  

Комментарии:

1. Пожалуйста, сделайте этот вопрос более удобным для чтения. Постановка проблемы на самом деле не ясна. Вероятно, у вас где-то произошла утечка делегата, но с указанным кодом, который невозможно проверить.

2. Раскомментируйте инструкцию «// return;».