我有以下代码:
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["MainDll"].ToString()))
{
connection.Open();
using (SqlCommand command = new SqlCommand(sql.ToString(), connection))
{
command.CommandType = CommandType.Text;
command.CommandTimeout = 300;
returnCode = (string)command.ExecuteScalar();
//Dispose();
}
}
我如何知道何时达到超时?我想抓住它并在超时后对SQL做一些事情。
答案 0 :(得分:1)
您只能知道在抛出错误时达到超时
所以我建议尝试处理异常,如果捕获了TimeOut异常那么你可以按照你的要求做的时间
答案 1 :(得分:0)
try {
//your code
}
catch (SqlException ex) {
if (ex.Number == -2) { //System.Data.SqlClient.TdsEnums.TIMEOUT_EXPIRED
//handle timeout
}
else {
throw;
}
}
finally {
//cleanup
}
来源:This SO帖子。