public void CheckConnectionAlive() { logger.Info("Проверяем соединение..."); bool timeout = runOperationService.GetRunOperationView().RunOperation( new ThreadStart(DoPing), DbConnection.ConnectionTimeout, "Идет проверка соединения с базой данных."); if (timeout && DbConnection.State == System.Data.ConnectionState.Open) { DbConnection.Close(); //На линуксе есть случаи когда состояние соединения не корректное. } if (DbConnection.State != System.Data.ConnectionState.Open) { logger.Warn("Соединение с сервером разорвано, пробуем пересоединится..."); TryConnect(); } logger.Info("Ок."); }