c# – CommandTimeout不工作
我正在尝试更改SqlCommand查询的超时时间,该方法用于测试给定连接字符串的连接.代码与此类似:
using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand cmd = new SqlCommand("SELECT ...",connection); cmd.CommandTimeout = 10; connection.Open(); SqlDataReader reader = cmd.ExecuteReader(); ... connection.Close(); } 我想在这里有一个短暂的超时,因为我只是想测试这个连接字符串是否可以. 所以,在我看来,由于某些原因,我在CommandTimeout上设置的值被忽略. 任何想法为什么? 解决方法
我想你真的搞错SqlCommand.CommandTimeout是什么.根据
this MSDN reference:
在您的情况下,您正在执行一个DataReader并逐步浏览查询(无论是什么).每个Read()只需要很少的时间,这就是为什么你不会超过你的超时时间. 编辑: 如果使用错误的连接字符串,则超时不会是命令超时,但它将是连接时间.默认为15秒.那是在您的情况下有效的超时. 你将要调用方法调用SqlConnection.Open(),而不是SqlCommand.ExecuteReader().因此ConnectionTimeout属性将成为有效的超时值. SqlConnection.ConnectionTimeout Property MSDN Reference (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |