【发布时间】:2012-08-25 10:55:20
【问题描述】:
我有一个客户端服务器应用程序。我的服务器使用 PHP、Mysql 和 Apache,客户端使用 C# windows Form 开发。我有用于客户端服务器通信的 SOAP WSDL 网络服务。 最近我发现一个问题,当我的客户发送请求时,响应会在很长一段时间后(比如 3/4 分钟到几个小时),有时我从来没有得到响应。我已经检查了客户端(httpwebrequest timeout,readwritetimeout)以及服务器(timeout,keepalivetimeout)端的所有超时值,我拥有的最大值是5分钟(对于httpwebrequest readwritetimeout)。那么有人能说出会是什么问题吗?为什么需要几个小时才能得到回复或没有得到任何回复?
【问题讨论】:
-
我感觉你的服务器超载了。极长的响应时间很奇怪,但我会说您的请求是空闲的,直到服务器可以处理它。
-
那么我必须在服务器端或客户端进行什么样的设置。我想要的是,如果它需要这么长时间,那么请求应该超时,所以我可以发送新的请求,第一个请求应该被取消。
-
我不确定您可以在这里做什么,因为我没有使用过 SOAP。但是,我想指出,如果您等待响应的时间如此长,那么尝试通过重新初始化来强制响应不是一个非常可持续的解决方案,只会给服务器带来更大的压力(符合我的假设服务器超载)。如果响应时间为 5 秒,则可以,但几分钟到几小时是一个危险信号,表明您向其发送请求的服务器需要注意。
标签: c# php web-services soap wsdl