我用C#编了一个抓取网页的程序(webform),用多线程抓取多个网页,多线程用了两种方法:
第一种:用线程池管理多线程。
第二种:自已开线程(就是不用线程池)我把程序传到服务器上,发现程序运行一段时间后就会停个来,这是为什么呢?第一种方法大约运行2个小时左右就会停,第二种方法大约运行6,7个小时也会停。
我在程序里已经差不多能产生错误的地方都catch了,但还是不行,不知道是服务器那边的原因,还是我的程序原因,请高手多指点。前提条件:
我的虚拟主机是租用中国某著名虚拟主机提供商的.

解决方案 »

  1.   

    这个程序也有一个相应的winform程序,由于webform程序不太好用,所以有时我也用winform的,但用用winform程序时,有时可以运行几十个小时不出错,但有时运行7,8个小时出错,为什么呢?
    我用的是线程序池管理,而且控制了线程并发总数为:100。
      

  2.   

    我也有过类似的问题,总感觉catch不能彻底解决线程因为错误而退出的问题
      

  3.   

    有时候多线程的程序,简单的try...catch是不能够检测到的。
      

  4.   

    做一个程序员很简单,做一个好的程序员很难!
    最低层到电源电气,以及机器运行的环境,每一个微小的因素都可能影响到程序的执行异常
    对于很多人来说,.net就足够庞大了,可是尽管它也采取了种种措施来保证程序的正常执行,但是到现实中,那还是杯水车薪
    具体到这个问题来说,你可以尝试过一段时间,自动让程序重新开始运行,我的现有知识无法保证我的想法的可行性,只是一个异想天开的建议
    可能我是在坐井观天,学习ing
      

  5.   

    你清空Temprary ASP.NET FILES重新编译生成试过吗?我有次遇到类似的问题居然是由这弱智原因引起的。