当我的win32 (c#)应用程序调用web服务时,我收到以下错误。
The request failed with HTTP status 504: Gateway timeout server response timeout.我理解“我认为”这是因为上游请求没有得到及时的响应。
但我的问题是?如何更改win32应用程序中的app.config设置,以便有更多时间处理其数据。我假设我需要在我的应用程序设置上进行这些更改,因为托管ws的webservices和IIS的设置时间延长了。
期待您的回复并提前向您致谢。
发布于 2011-12-14 03:08:23
你不能。问题不是你的应用程序没有耐心并且超时;问题是中间代理没有耐心并且超时。“服务器在充当网关或代理时,没有从URI指定的上游服务器收到及时的响应。”(http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.5)它很可能表示源服务器出现了某种问题,因此它不能快速响应转发的请求。
可能的解决方案,没有一个可能会让你满意:
发布于 2008-11-04 11:19:17
CheckUpDown有a nice explanation of the 504 error
服务器(不一定是网络服务器)充当网关或代理,以满足客户端(例如,您的网络浏览器或我们的CheckUpDown robot)访问所请求的
的请求。此服务器没有收到它访问的处理您的HTTP请求的上游服务器的及时响应。
这通常意味着上游服务器关闭(没有对网关/代理的响应),而不是上游服务器和网关/代理没有就交换数据的协议达成一致。
此问题完全是由于后端计算机之间的IP通信缓慢造成的,可能包括Web服务器。只有在托管网络服务器的站点上设置网络的人员才能解决此问题。
发布于 2016-05-18 17:23:56
假设访问代理服务器A(例如,nginx),并且服务器A将该请求转发到另一服务器B(例如,tomcat)。
如果此过程持续很长时间(超过代理服务器读取超时设置),A仍未获得B的完整响应。
对于nginx,你可以配置proxy_read_timeout(in location)属性来解决his.But,如果你把这个值设置得太高,这通常不是一个好主意。这可能隐藏了真正的错误。你最好改进设计才能真正解决这个问题。
https://stackoverflow.com/questions/261536
复制相似问题