Example #1
0
        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("Ок.");
        }