读书人

System.Net.HttpWebRequest的Bug? 下载

发布时间: 2012-01-09 21:05:41 作者: rapoo

System.Net.HttpWebRequest的Bug? 下载几万个网页後不能下载了
用这个东西多线程下载网页, 大概下载了几万个之后,就出问题了.
出问题就是每次读取完一个网页时弹出WebException, "The underlying connection was closed: An unexpected error occurred on a send. "
或者异常IOException(Unable to read data from the transport connection: 远程主机强迫关闭了一个现有的连接。.)

这些个异常多出几次之后, 再次创建的HttpWebRequest就下不动了,我的问题就是在这里, 怎么下不了了呢.... .... #-_-

注意, 是下载几万个网页後才出现的. 我在网上搜索国外的还没看到类似的情况, 该Dispose的东西都Dispose了, 该Close该Abort的东西都做了处理了.


[解决办法]
下载了几万个?
黑奴啊,非法用工,也得给人家休息吧,估计是罢工了!
[解决办法]
据我估计不是你的问题,而是对方的问题,对方强制断开了你的连接!
[解决办法]
把你的连接当非法用户处理了,你连接太频繁了.
[解决办法]
你当人家的服务器是你实验设备!


自已提供一个测试服务器算了!
[解决办法]
hehe
[解决办法]
The underlying connection was closed: An unexpected error occurred on a send.

这里说明了错误是在你这方(发送时出错)并且刚好在几W个后出错还是多线程!!怀疑是线程处理有问题,也就是你Close和Dispose可能没成功把你机器的连接池给用光了.检查一下代码吧..
[解决办法]
另外开一个线程,在这个线程run你的WebRequest,如果出错,就raise event,然后主线程处理,把这个线程关闭以后重开。因为没有具体例子,只能凭想象力试试看。
[解决办法]
下载了几万个,真有你的
[解决办法]
用过WebRequest,没有遇到。
有情顶一下。

读书人网 >C#

热点推荐