ADO.NET: более быстрый способ проверить, доступен ли сервер базы данных?
В данный момент я использую этот код для проверки доступности базы данных:
public bool IsDatabaseOnline(string con)
{
bool isConnected = false;
SQLConnection connect = null;
try {
connect = new SQLConnection(con);
connect.Open();
isConnected = true;
} catch (Exception e) {
isConnected = false;
} finally {
if (connect != null)
connect.Close();
}
return isConnected;
}
Хотя этот код работает нормально, есть и недостаток. Если сервер не подключен к сети, он тратит около 4 полных секунд, пытаясь открыть соединение, прежде чем решить, что оно недоступно.
Есть ли способ проверить соединение, не пытаясь фактически открыть его и ждать тайм-аут? Что-то вроде базы данных, эквивалентной ping?