所有 我正在努力解决问题。在哪里, 有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名称。 由于存在这种差异,我们可以得出结论,它不应该是代码中的问题。它必须是问题/某处需要在数据库端设置以定义超时或可能不同。请指导我。
答案 0 :(得分:1)
你必须得到一个可以更改代码的人,增加CommandTimeout
(或将其设置为0
无限制),更重要的是,找出查询为何如此长。
答案 1 :(得分:0)
如果我们将超时值设置为零,则意味着我们确保操作将不惜一切代价进行竞争。