Я использую MySQL в своем приложении ASP.NET (с MySQL .NET Connector), есть ли способ программно проверить, не работает ли сервер БД? Я натолкнулся на MySQLConnection.Ping (), но, к сожалению, это не работает так, как должно (сначала нужно открыть соединение с помощью Open (), а также возвращает false, даже если сервер БД снова становится доступным). Единственное решение, которое я придумала, - это использование метода Open (), если это вызывает исключение, то сервер БД недоступен, есть ли более надежный способ сделать это? Я где-то читал, что использование Open () может не работать должным образом, если используется пул соединений, это может привести к возникновению исключения, даже если сервер БД работает.
Если вы хотите узнать подробности, пожалуйста, прочитайте:
В моем приложении я регистрирую все исключения (сначала я пытаюсь зарегистрировать их на сервере БД - это может быть тот же сервер БД, который выключен, но может и не быть, в зависимости от конфигурации - если это не удается, исключения регистрируются в текстовый файл). Теперь я хочу обработать случай, если сервер БД не работает, обычно происходит то, что исключения будут генерироваться почти при каждом запросе к моему приложению, это означает, что журнал будет заполнен этими исключениями, другая проблема заключается в Я буду продолжать предоставлять страницы с ошибками пользователям (или, другими словами, пользователи будут продолжать видеть страницы с ошибками при каждом обращении к приложению), что я хочу сделать, это если выдается исключение db (т.е. введите MySQLException), чтобы проверить, работает ли сервер БД, если нет, то измените какой-либо флаг в моем приложении и обслуживайте страницу, которая содержит что-то вроде приложения, временно недоступна (флаг проверяется в модуле httpModule и перенаправляет или передает на эту страницу) , Я также планирую сделать так, чтобы он отправлял мне SMS с использованием прокси-сервера SMS, чтобы я мог предпринять какое-либо действие, но это другая история, не связанная с этим вопросом.