当前位置:  开发笔记 > 后端 > 正文

诊断"请求超时"HttpExceptions

如何解决《诊断"请求超时"HttpExceptions》经验,为你挑选了2个好方法。

在StackOverflow上,我们每天都会看到一些"请求超时"异常.

事实:

请求超时是默认的90秒

仅在POST上发生

发布的数据是文本,通常很小(<1KB),但可以达到几KB

服务器变量中未捕获表单数据

客户UA是多种多样的:IE5.5 - 7,Firefox 3.0.5,iPhone,Chrome

客户位置多种多样:英国,法国,美国 - NC,OH,NE,IN

我们已经测试了基于服务器的超时(即使用Thread.Sleep),并且在异常日志中正确捕获所有表单变量 - 这使我们相信客户端在分配的时间内发送请求时遇到问题.

关于如何捕获/调试这种情况的任何想法都是非常受欢迎的!



1> Barry Hagan..:

我在使用小型AJAX Web服务的生产服务器上遇到了同样的问题.在防火墙外部进行数据包捕获后,我们发现服务的POST来自两个TCP段,第二个段从未到达我们.(第一个数据包只包含标题,第二个丢失的数据包应该是json主体)所以基本上IIS只是坐在那里等待POST的其余部分.配置超时后,服务器向客户端发送RST数据包并记录"请求超时"错误 - 这是正确的行为.

我们试图在没有太多运气的情况下获得客户端repro,但在我们的情况下,这似乎是完全与网络相关的(或者可能是一些不喜欢帖子内容的"安全"软件).


你有没有想出这个问题的解决方案,或者你只是忽略它们?我从合法请求中得到了很多(不是垃圾邮件).

2> 小智..:

如果您运行的是IIS 7,则可以使用" 失败的请求跟踪".我实际上并没有将它用于超时,我大多数时候已将其设置为仅捕获特定的http错误代码.但是我知道你可以把它转移到超过X时间的任何请求的痕迹.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有