日期:2014-05-19  浏览次数:21052 次

使用HttpWebRequest向服务器发送查询请求的时候提示连接被意外关闭
System.Net.WebException:     基础连接已经关闭:     连接被意外关闭。    
          在     System.Net.HttpWebRequest.GetResponse()     位置    
 

我是根据数据库中的相关记录来向服务器发送查询请求的,然后将查询结果写回数据库,目前的问题是,如果数据库中的记录数比较少的话,这样查询是没有问题的,但是如果记录数多的话,比如上10万条,则会报上面的这种错误,提示连接被意外关闭,这是什么原因呢,有什么办法解决吗??

------解决方案--------------------
public static string GetHttpSourceValue(string a_strUrl)
{

string strResult;
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(new System.Uri(a_strUrl));
myReq.Method = "GET ";
myReq.Accept = "*/* ";
myReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) ";

try
{
HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse();

string tmp = myReq.Headers.ToString();

Stream myStream = HttpWResp.GetResponseStream();

StreamReader sr = new StreamReader(myStream, Encoding.Default);
StringBuilder strBuilder = new StringBuilder();
while (-1 != sr.Peek())
{
strBuilder.Append(sr.ReadLine() + "\r\n ");
}

strResult = strBuilder.ToString();
// StreamWriter sw = new StreamWriter( "E:\\1.txt ", false, Encoding.Default);
// sw.Write(strResult);


myStream.Close();
sr.Close();
// sw.Close();
}
catch (Exception exp)
{
strResult = "错误: " + exp.Message;
}


return strResult;




// StreamWriter sw = new StreamWriter(SaveFileName(), false, Encoding.Default);
// sw.Write(body);
// sw.Close();
}
}

我现在用的...
------解决方案--------------------
超时,修改服务器timeout!