2016-12-07 2 views
0

Я пошел в сообщество обзора кода, чтобы просмотреть фрагмент, который я произвел. Они, похоже, особенно интересовались методом, который я использую, чтобы поддерживать работу программы, если в базе данных есть проблема с сетевым подключением. Я разместил ссылку на мой вопрос ниже.Сохранять программу из состояния ошибки при сбое сетевого соединения

Link to Code Review Question

Мой вопрос к вам, ребята в том, что лучшая практика для сохранения программы, выполняемой во время подключения к базе данных теряется?

код в вопросе

private void ReestablishDatabaseConnection() 
     { 
      bool broken = true; 
      conn.ConnectionString = r.getSQLConnString(); 

      while (broken) 
      { 
       System.Threading.Thread.Sleep(30000); 
       try 
       { 
        conn.Open(); 
        conn.Close(); 
        broken = false; 
       } 
       catch (Exception){} 
      } 
     } 

ответ

0

Мой вопрос к вам, ребята в том, что это лучшая практика для поддержания программы работает при подключении к базе данных теряется?

Это зависит от типа приложения.

Из текущего кода, если аппарат не может подключиться к базе данных, и если вы вызовете этот метод один раз, он будет продолжать работать внутри цикла!

Таким образом, это только растрачивает циклы процессора и ничего не делает.

Я предлагаю вам выбросить этот код, не заботясь о проблемах с подключением в коде. Обрабатывайте их с помощью правильного ведения журнала исключений. И вы можете попробовать повторно подключиться в 2-3 раза или больше в зависимости от серьезности приложения.

Если есть какая-либо сетевая ошибка ИЛИ любая ошибка/исключение, выполните правильную регистрацию и должным образом заботитесь о том, чтобы проблема обрабатывалась надлежащим образом, без каких-либо производственных потерь.

О предполагаемой части, не позволяйте вашему коду не запускаться ИЛИ ломаться только из-за исключения.

Создайте свое приложение таким образом, чтобы с его точки зрения он не расстраивался функциональностью, и вы тоже должны иметь команду над приложением.

+1

Спасибо! И да, вы помогаете. –

+0

@DavidRichards - Спасибо за комплимент, :) –

Смежные вопросы