0

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

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

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

4

1 回答 1

1

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

我通常在从 web 请求中获取响应时使用“using”来确保响应关闭:

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

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

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

于 2008-11-03T21:07:50.337 回答