2013-03-30 45 views
1

使用ADO.NET和SQL Server 2008年前“过期超时”发生异常的定义超时

的的SqlCommand的CommandTimeout属性没有改变,因此具有30

应用程序运行的默认值几十条命令并将结果(或例外)记录到SQL表中,因此我知道每次执行的开始时间。下一个日志记录的开始时间给了我一个持续时间的估计。

我得到了两个没有道理的例外,因为它们的持续时间比定义的CommandTimeout小得多。

这随机发生。这是不可复制的。

Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. 

我的问题是:可以通过其他原因引发此异常,而不是实际超时?

+0

有两个超时,一个在连接级别,一个在命令级别。什么是连接超时?通常它在连接字符串上定义。 – rsbarro

+0

@rsbarro:我知道这一点。连接TimeOut是15 - 这仍然不能解释这种行为,除了发生在前一个命令后的2到5秒之外。 – pvieira

+0

你在存储过程查询中处理XML吗? –

回答

0

它可能与参与表中的某个锁相关。