取消HttpWebRequest HTTP请求有任何已知问题吗?我们发现当我们取消4-5个请求时,下一个请求会无限期挂起。
如果没有已知的问题,那么我可能做错了什么......哪个是一个很好的资源示例,展示了它是如何工作的(一个完整的解决方案,而不是几个代码片段)?
如果存在已知问题,我可以做些什么来解决它们,以便有效地取消我需要的任意数量的请求?
答案 0 :(得分:1)
取消请求后,请注意关闭响应流,否则会出现泄漏。
我在获取Web请求的响应时通常使用“using”来确保响应已关闭:
WebRequest request = WebRequest.Create("http://google.com");
using (WebResponse response = request.GetResponse())
{
//do my job
}
这样,即使您取消请求,或者在响应读取期间抛出异常,也会关闭resposne及其流。