等待操作超时.ASP

Vic*_*Vic 13 sql asp.net connection

我为公司创建了一个内部网站.它运行平稳了几个月,然后由于用户的建议我进行了重大更新.当我在现场跑步时,它会正常运行.然后突然我的一个日本用户给我发了一个"等待操作超时".错误.当我检查访问某个链接时,它正常运行我和其他一些我要求检查他们是否访问该页面.我已经更新了httpRuntime executionTimeout但仍然没有运气.这是错误来自数据库连接吗?如果我增加数据库连接的超时,它将解决问题?

Sha*_*ger 14

请记住增加连接超时和命令超时:

SqlConnection(@"Data Source=SQLSERVER;Initial Catalog=MYCATALOG;Integrated Security=True;Connection Timeout=1000");//huge timeout
Run Code Online (Sandbox Code Playgroud)

然后:

com.CommandTimeout = 950;//or whatever
Run Code Online (Sandbox Code Playgroud)

  • 至少在Sql Server中,连接超时是建立连接所需的时间.它与连接的生命周期无关.命令超时与命令执行的时间有关. (7认同)

Joh*_* Wu 13

如果您发现确切的错误"等待操作超时",那么您可能需要花费比预期更长的数据库调用.这可能是由于许多事情:

  1. 瞬态网络问题
  2. 高SQL服务器负载
  3. SAN,RAID或存储设备出现问题
  4. 死锁或其他形式的多进程争用

您尚未分享足够的信息来进行故障排除.我管理这个问题的方法是检查问题的其他事件并查看是否存在模式,例如,如果问题发生在一天的特定时间.

当然,增加超时并不是一个坏主意(如果它当前设置得相当低)并且可以解决问题本身.


use*_*630 6

我通过在发生超时的事件查看器中查找确切过程来修复此错误。

在 SSMS 中连接到同一个数据库并运行:

exec sp_recompile 'Procedure name'
Run Code Online (Sandbox Code Playgroud)

它显示了以下消息:

对象“过程名称”已成功标记为重新编译。