Skip to main content
 首页 » 编程设计

c#之System.Net.HttpWebRequest 无限工作

2024年02月01日27lidabo

我有这样的功能:

static void doAction(string link){ 
  Uri myUri = new Uri(link); 
  HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(ur) ; 
  request.GetResponse(); 
 } 

在调用此函数 2-3 次后,无论链接的值如何,它总是返回 WebException(请求超时已过期)。

怎么了?

请您参考如下方法:

您没有处理响应 - 这意味着如果多个 URL 转到同一主机,您将最终阻塞连接池,直到这些响应被垃圾收集。

最简单的修复方法就是使用 using 语句:

using (request.GetResponse()) 
{ 
    // No-op 
}