可能是什么原因导致的这种问题,每次请求的request对象都是重新创建出来的呀,相互之间应该没影响吧,下面是代码
1 public static HttpWebResponse Post(string urlStr, string param) 2 { 3 HttpWebRequest request=null; 4 HttpWebResponse response = null; 5 try 6 { 7 //创建一个HTTP请求 8 request = (HttpWebRequest)WebRequest.Create(urlStr); 9 //request.Timeout = 30000; 10 //Post请求方式 11 request.Method = "POST"; 12 //内容类型 13 request.ContentType = "application/x-www-form-urlencoded"; 14 15 //将URL编码后的字符串转化为字节 16 byte[] payload = System.Text.Encoding.UTF8.GetBytes(param); 17 //设置请求的ContentLength 18 request.ContentLength = payload.Length; 19 //获得请求流 20 Stream writer = request.GetRequestStream(); 21 //将请求参数写入流 22 writer.Write(payload, 0, payload.Length); 23 //关闭请求流 24 writer.Close(); 25 26 //发送HttpWebRequest请求,得到HttpWebResponse对象 27 response = (HttpWebResponse)request.GetResponse(); 28 } 29 catch (Exception e) 30 { 31 throw e; 32 } 33 34 return response; 35 }
可能是因为request和response没有释放造成的,在请求处理完毕后对请求调用abort方法
嗯,确实是没有调用request.abort()方法,那还想问下,timeout设置为多大合适
@云一样飘过: 请求一个网页很少超过3秒吧 个人选3秒到5秒
@Zery: 嗯,好的,谢谢啦