1 c#
我有这样的功能:
static void doAction(string link){
Uri myUri = new Uri(link);
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(ur) ;
request.GetResponse();
}
Run Code Online (Sandbox Code Playgroud)
在调用此函数2-3次之后,无论link的值如何,它总是返回WebException(请求超时已到期).
怎么了?
您没有处置响应 - 这意味着如果多个URL转到同一主机,您将最终阻止连接池,直到这些响应被垃圾回收.
最简单的解决方法就是使用一个using语句:
using (request.GetResponse())
{
// No-op
}
Run Code Online (Sandbox Code Playgroud)