WebRequest.GetResponse锁定了吗?

时间:2009-09-06 20:22:55

标签: c# .net webresponse getresponse lockup

写下面的代码时,我的代码会锁定GetResponse。为什么呢?

        try
        {
            WebRequest myWebRequest = WebRequest.Create(strURL);
            WebResponse myWebResponse = myWebRequest.GetResponse();
            //more code here

1 个答案:

答案 0 :(得分:43)

如果您向同一主机发出了多个请求,并且未处理WebResponse,则通常会发生这种情况。

默认的连接管理设置一次只允许2个(或者4个,我不记得)打开到同一主机的连接。如果确实需要更改此内容,请使用<connectionManagement> app.config元素 - 但通常只需处置WebResponse即可:

try
{
    WebRequest myWebRequest = WebRequest.Create(strURL);
    using (WebResponse myWebResponse = myWebRequest.GetResponse())
    {
        //more code here