RunOperationWithDlg() public static method

public static RunOperationWithDlg ( ThreadStart function, int timeout, string text = "" ) : bool
function ThreadStart
timeout int
text string
return bool
Esempio n. 1
0
        public static void TryConnect()
        {
            logger.Info("Пытаемся восстановить соединение...");
            bool timeout = WaitOperationDlg.RunOperationWithDlg(new ThreadStart(DoConnect),
                                                                connectionDB.ConnectionTimeout,
                                                                "Соединяемся с сервером MySQL."
                                                                );

            if (!WaitResultIsOk || timeout)
            {
                MessageDialog md = new MessageDialog(null,
                                                     DialogFlags.DestroyWithParent,
                                                     MessageType.Question,
                                                     ButtonsType.YesNo,
                                                     "Соединение было разорвано. Повторить попытку подключения? В противном случае приложение завершит работу.");
                ResponseType result = (ResponseType)md.Run();
                md.Destroy();
                if (result == ResponseType.Yes)
                {
                    TryConnect();
                }
                else
                {
                    Environment.Exit(1);
                }
            }
        }
Esempio n. 2
0
        public static void CheckConnectionAlive()
        {
            if (DBMS != DataProviders.MySQL)
            {
                return;
            }
            logger.Info("Проверяем соединение...");

            bool timeout = WaitOperationDlg.RunOperationWithDlg(new ThreadStart(DoPing),
                                                                connectionDB.ConnectionTimeout,
                                                                "Идет проверка соединения с базой данных.");

            if (timeout && ConnectionDB.State == System.Data.ConnectionState.Open)
            {
                ConnectionDB.Close();                  //На линуксе есть случаи когда состояние соедиения не корректное.
            }
            if (connectionDB.State != System.Data.ConnectionState.Open)
            {
                logger.Warn("Соединение с сервером разорвано, пробуем пересоединится...");
                TryConnect();
            }
            logger.Info("Ок.");
        }