Когда форма загружена, в методе GetItemsnaliv () запускается таймер, который подключается к удаленному OPC-серверу и получает необходимые данные.Код:
bool GetItemsNaliv()
{
IsWork2 = true;
try {
if (_opcServer2 != null && !_opcServer2.IsConnected) {
_opcServer2.Connect(url2, new Opc.ConnectData(new System.Net.NetworkCredential()));
}
}
catch (Exception ex)
{
//MessageBox.Show(ex.Message);
IsWork2 = false;
return false;
}
Если OPC-сервер отключен или неожиданно по какой-либо причине перезагружается, программа просто зависает и может быть убита только через Менеджер.Ошибка возникает в этой строке:
_opcServer2.Connect(url2, new Opc.ConnectData(new System.Net.NetworkCredential()));
Как избежать зависания программы, если соединение потеряно, и начать переподключение?