用VB编写的DLL组件,asp调用,页面每秒种刷新一次,开始运行正常,一般运行几个小时后出错,但内存和CPU监视都正常。DLL内部资源我想该释放的释放了。奇怪的是重启IIS后页面刷新又能正常运行,但几个小时后又会出错。请高手估计一下原因。

解决方案 »

  1.   

    没有,我的组件里最后有生成的文件的操作,但我是写同一个文件,不断覆盖而已。如果我再加一个FOR i=1 to 100 的循环后也是一秒刷新一次页面,也就说相当于一次刷新操作相当于执行100次组件操作。这种情况下也能正常执行10次左右页面刷新操作,然后就出错,显示内存用完错误,重启IIS又可以。
      

  2.   

    注意上面的情况下监视WINDOWS任务管理器的性能监视内存基本成一直线,很正常。是不是IIS自己也有一套内存,这套内存用完了就只能重新启动,问题是内存为什么不能释放掉呢,我用了set obj=nothing 语句的
      

  3.   

    如果是对文件操作,在set obj=nothing之前应该还有obj.close操作
      

  4.   

    obj.close加了,直接就出错在这里,也是我的组件里没有close方法,是不是在别的地方关掉什么
      

  5.   

    是不是我的生成文件部分有错误
    我用if err.number<>0 then  
    response.write err.number & err.description
    end if 得到了  9下标出错  的提示
    下标出错一般是数组超过上下限对吧