【问题标题】:Double request in web api serviceWeb api服务中的双重请求
【发布时间】:2014-06-16 17:31:00
【问题描述】:
我在与我公司开发的网页API服务一个非常奇怪的问题。该服务是通过客户端JavaScript调用。
可有时需要时间来处理请求,并在此情况下很多,30秒(总30秒)后的服务,我们检测到Web服务的新请求(在IIS日志)。但是,使用Chrome的网络记录器,我们看不到任何请求由浏览器重新发送...
看代码也有什么,使一个重试30秒后。 P>
任何想法可能发生?它可以是浏览器的问题?一个网络均衡的问题? JavaScript的问题?服务器的配置问题? P>
由于很多提前,
佩德罗 P>
【问题讨论】:
标签:
javascript
.net
asp.net-web-api
【解决方案1】:
虽然我不知道您的问题的具体解决方案,但我建议使用诸如 Charles 之类的 Web 代理来检测浏览器发出的请求。我发现有些浏览器隐藏了实际发出的请求数量。例如,Safari 在使用标签时发出 2 个请求,而其网络检查器/日志中没有任何内容表明多个请求。只有在使用网络代理时,我才意识到这一点。希望如果您还没有尝试过,它会帮助您找到解决方案。
祝你好运!
【解决方案2】:
似乎在虚拟主机上的代理服务器上存在某种错误配置,导致 30 秒后创建重复调用而没有响应。对不起,我不能给你任何技术细节,但他们没有给我。虽然很吓人...
【解决方案3】:
浏览器和您的服务之间的链中的多个实体(包括代理服务器/负载平衡器)可能会设置为在一段时间后未收到响应时重试请求。
不幸的是,我不相信有一个通用的答案来解决这个问题,因为这是特定于工具的。