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

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

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

有帮助吗?

解决方案

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

我通常使用“使用”从Web请求获取响应以确保响应已关闭时:

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top