HttpWebRequest,已知的取消请求问题?

时间:2008-11-03 21:03:38

标签: c# .net http httpwebrequest

取消HttpWebRequest HTTP请求有任何已知问题吗?我们发现当我们取消4-5个请求时,下一个请求会无限期挂起。

如果没有已知的问题,那么我可能做错了什么......哪个是一个很好的资源示例,展示了它是如何工作的(一个完整的解决方案,而不是几个代码片段)?

如果存在已知问题,我可以做些什么来解决它们,以便有效地取消我需要的任意数量的请求?

1 个答案:

答案 0 :(得分:1)

取消请求后,请注意关闭响应流,否则会出现泄漏。

我在获取Web请求的响应时通常使用“using”来确保响应已关闭:

WebRequest request = WebRequest.Create("http://google.com");

using (WebResponse response = request.GetResponse())
{
   //do my job
}

这样,即使您取消请求,或者在响应读取期间抛出异常,也会关闭resposne及其流。