如何正确关闭HttpRequest/Response以避免第三次连接尝试超时



我在第三次尝试调用HttpWebRequest.GetRequestStream时遇到超时问题。这是为了让调试代码测试第三方资源的间歇性问题,所以它只是一遍又一遍地发出相同的请求。

当使用Fidder作为代理时,这个问题不会表现出来,所以这让我相信它与连接池中的开放连接有关(我记得在某个地方读到过两次尝试与Http 1.1规范有关)。

很多问题都涉及到关闭请求和关闭响应,但我对这两者都有一个使用声明,所以我认为当超出范围时,这会自动发生。不过,我也尝试过在请求流和响应流上调用close和flush。

还有一些问题提到将ConnectionLeaseTimeout设置为0。但这也没用。

我不知道还能尝试什么,有人有什么建议吗?

在建立连接之前,您是否尝试将HttpWebRequest.HttpKeepAlive属性设置为false?

每个请求之间的间隔有多大?您是否可能遇到了某种旨在阻止DoS攻击的防火墙规则?

相关内容

  • 没有找到相关文章

最新更新