目前我使用此代碼來檢查數據庫訪問: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?
你希望你的服務器停機時間長? – 2010-05-04 00:16:01
您應該將其更改爲'catch(SqlException)' – SLaks 2010-05-04 00:16:03