等待操作超时。 ASP

时间:2016-08-27 01:44:38

标签: sql asp.net connection

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

5 个答案:

答案 0 :(得分:13)

如果您发现确切错误“等待操作超时”,则可能是您的数据库调用时间超过预期。这可能是由于任何事情:

  1. 瞬态网络问题
  2. 高SQL服务器负载
  3. SAN,RAID或存储设备问题
  4. 死锁或其他形式的多进程争用
  5. 您尚未分享足够的信息进行故障排除。我管理这个的方法是检查问题的其他事件并查看是否存在模式,例如如果问题发生在一天中的某个时间。

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

答案 1 :(得分:13)

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

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

然后:

com.CommandTimeout = 950;//or whatever

答案 2 :(得分:0)

这也可能是另一个问题。例如,如果您在一个连接打开期间运行了大量查询,并且它超过了连接生命周期。然后,您需要在连接字符串中设置Connection Lifetime属性。这是描述:

  

当连接返回到池时,其创建时间为   与当前时间相比,如果连接被破坏   该时间跨度(以秒为单位)超过Connection指定的值   一生。这在群集配置中非常有用,可以强制加载   正在运行的服务器和刚刚联机的服务器之间的平衡。一个   值为零(0)会导致池化连接具有最大值   连接超时。

答案 3 :(得分:0)

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

连接到SSMS中的相同数据库并运行:

exec sp_recompile 'Procedure name'

它显示了以下消息:

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

答案 4 :(得分:0)

在web.config文件中,转到连接字符串并添加以下内容: ;集成安全性= True;连接超时= 120“