写下面的代码时,我的代码会锁定GetResponse。为什么呢?
try
{
WebRequest myWebRequest = WebRequest.Create(strURL);
WebResponse myWebResponse = myWebRequest.GetResponse();
//more code here
答案 0 :(得分:43)
如果您向同一主机发出了多个请求,并且未处理WebResponse
,则通常会发生这种情况。
默认的连接管理设置一次只允许2个(或者4个,我不记得)打开到同一主机的连接。如果确实需要更改此内容,请使用<connectionManagement>
app.config元素 - 但通常只需处置WebResponse
即可:
try
{
WebRequest myWebRequest = WebRequest.Create(strURL);
using (WebResponse myWebResponse = myWebRequest.GetResponse())
{
//more code here