用这个东西多线程下载网页, 大概下载了几万个之后,就出问题了.
出问题就是每次读取完一个网页时弹出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的东西都做了处理了.

解决方案 »

  1.   

    不太可能是被服务器封IP了. 因为用IE或者其他工具连的上. 而且对同一个站点连接数目并不多, 不可能被封IP
      

  2.   

    The underlying connection was closed: An unexpected error occurred on a send.这里说明了错误是在你这方(发送时出错)并且刚好在几W个后出错还是多线程!!怀疑是线程处理有问题,也就是你Close和Dispose可能没成功把你机器的连接池给用光了.检查一下代码吧..
      

  3.   

    我在相关地方都try...catch了的,如果没成功那.net至少应该放个异常通知我吧? 可我在Close, Dispose相关的地方都没收到过异常线程我是直接用的.net的异步IO,  没有我自己开线程.
      

  4.   

    另外开一个线程,在这个线程run你的WebRequest,如果出错,就raise event,然后主线程处理,把这个线程关闭以后重开。因为没有具体例子,只能凭想象力试试看。
      

  5.   

    用过WebRequest,没有遇到。
    有情顶一下。