use*_*094 5 c# database connection 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;
}
Run Code Online (Sandbox Code Playgroud)
虽然这段代码工作正常但是有一个缺点.如果服务器不在线,它会花费大约4整秒的时间尝试打开连接,然后再决定它是否可用.
有没有办法测试连接而不试图实际打开它并等待超时?像数据库相当于ping的东西?
您只需将连接超时更改得更短即可。做一些测试,看看你可以降到多低并且仍然可靠。我打赌你可以接近 500 毫秒。
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectiontimeout.aspx
归档时间: |
|
查看次数: |
7846 次 |
最近记录: |