等待操作超时,ASP

zi8p0yeb  于 9个月前  发布在  .NET
关注(0)|答案(7)|浏览(130)

我为我们公司创建了一个内部网站。它顺利运行了几个月,然后我做了一个重大更新,由于用户的建议。当我在现场运行时,它正常运行。然后突然我的一个来自日本的用户给我发送了一个“等待操作超时”错误。当我检查访问某个链接时,它运行正常,为我和其他一些人,我问,以检查他们是否访问该页面.我已经更新了http://executions.com/index.html,但仍然没有运气.这是错误来自数据库连接?如果我在数据库连接中增加超时,它将修复问题?

np8igboo

np8igboo1#

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

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

字符串
然后:

com.CommandTimeout = 950;//or whatever

j2cgzkjk

j2cgzkjk2#

如果你发现确切的错误“等待操作超时”,那么很可能你有一个数据库调用,花了比预期更长的时间。这可能是由于任何数量的事情:
1.暂态网络问题
1.高SQL Server负载

  1. SAN、RAID或存储设备问题
    1.死锁或其他形式的多进程争用
    您没有共享足够的信息来进行故障排除。我的管理方法是检查问题的其他发生情况,并查看是否存在模式,例如问题是否在一天中的某个时间发生。
    当然,增加超时不是一个坏主意(如果它当前设置得很低),并且可以解决问题本身。
trnvg8h3

trnvg8h33#

我通过在事件查看器中查找发生超时的确切过程来修复此错误。
已连接到SSMS中的同一数据库并运行:

exec sp_recompile 'Procedure name'

字符串
它显示了以下消息:
已成功将对象“过程名称”标记为重新编译。

busg9geu

busg9geu4#

这也可能是另一个问题。例如,如果您在打开的一个连接期间运行了很多查询,并且超过了连接的生命周期。那么您需要在连接字符串中设置Connection Lifetime属性。下面是描述:
当连接返回到池时,将比较其创建时间和当前时间,如果该时间跨度(以秒为单位)超过连接生存期指定的值,则连接将被销毁。这在群集配置中很有用,可以强制在运行的服务器和刚联机的服务器之间进行负载平衡。值为零(0)会导致池连接具有最大连接超时。

j8ag8udp

j8ag8udp5#

在我的示例中,通过从SQL Server配置管理器

中打开命名管道来修复此问题

mrwjdhj3

mrwjdhj36#

在我的例子中,它与内存问题有关。每当有其他应用程序打开时,SQL Server内存就会被过度分配,从而阻止复杂查询成功执行。为了解决这个问题,我去了SQL Server Management Studio,登录到本地服务器,右键单击服务器,转到属性,并将最小服务器内存设置为大约2 Gig.

cbjzeqam

cbjzeqam7#

在web.config文件中,转到connections String并添加以下内容:; IntegratedSecurity =True; ConnectSecurity =120”

相关问题