目前我正在使用此代码检查数据库是否可访问:
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;
}
Run Code Online (Sandbox Code Playgroud)
虽然这段代码工作正常但是有一个缺点.如果服务器不在线,它会花费大约4整秒的时间尝试打开连接,然后再决定它是否可用.
有没有办法测试连接而不试图实际打开它并等待超时?像数据库相当于ping的东西?