System.Data.SqlClient.SqlException:超时已过期。操作完成之前经过的超时时间或服务器没有响应

时间:2011-05-07 09:32:50

标签: sql-server web-services exception timeout

所有 我正在努力解决问题。在哪里, 有asp.net webservice。 webservice与sql server连接。为接收数据而创建。但在请求网络方法时,即使在浏览器中,我也会遇到异常:

System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.

根据我的理解,这必须是关于延迟服务器响应的问题。或者由于方法中数据获取过程的时间复杂性。我知道我们可以指定sql命令的超时。但我没有代码访问权限来更改它。简而言之,在Web服务代码中进行更改是不可能的。如何在不编辑任何代码的情况下解决此问题。我可以编辑webservice的web.config。但不是代码。请指导我。

编辑: 这个问题仍然存在。但我只在测试服务器上遇到此问题。但在生产服务器上,它运行得很好。我想模拟这个,并希望在测试服务器上解决它。因此,我无法继续进行生产服务器上不存在的下一个操作。为什么要到这里(在测试服务器上)。

在测试服务器上,我正在更改sql server名称。 由于存在这种差异,我们可以得出结论,它不应该是代码中的问题。它必须是问题/某处需要在数据库端设置以定义超时或可能不同。请指导我。

2 个答案:

答案 0 :(得分:1)

你必须得到一个可以更改代码的人,增加CommandTimeout(或将其设置为0无限制),更重要的是,找出查询为何如此长。

答案 1 :(得分:0)

如果我们将超时值设置为零,则意味着我们确保操作将不惜一切代价进行竞争。