你的组件肯定是进程内组件(DLL),dllhost.exe是该组件的宿主程序。事实上,
你在使用asp中利用ADO写网页时,也会发现dllhost.exe。因此,只要你确信
你的组件在内存清理方面做的很优秀,那你不用担心什么。否则就需要你仔细
检查你的组件代码了,以免WebServer崩溃。

解决方案 »

  1.   

    这和WebServer没有关系,是你用了进程内组件。
    你的组件程序中有内存泄漏!
      

  2.   

    我用的的确是进程内组件(DLL),但是,我检查组件代码后,好像没有内存泄漏.
    因为我也曾经怀疑是内存泄漏,但是没有检查到,是否有工具或好办法,能够加查呢? 或者说以你们的经验来说: 那些情况下会出现内存泄漏呢?这是不是进程内组件比较特殊呢?
      

  3.   

    而且,程序中我都没有使用new 和 delete ,也没有使用allocmem 等内存分配函数,由于是进程内组件,并且是为webserver 服务,所以,我使用的数据类型大多是BSTR,String,CComBSTR,连接数据库我用的是oracle 公司提供的"oo4o"(即OLE), 所以,请各位帮忙想一下,什么地方最容易出现内存泄漏呢?
      

  4.   

    问一下,你的使用OO4O的DLL是否曾正确的连接上数据库?
      

  5.   

    是的,使用OO4O的DLL是正确的连接上数据库的
      

  6.   

    你再观察一下内存使用情况,看看使用时与不使用时有何差别,是否过一段时间
    内存的使用量有将下来了。
    如果方便,可以将源代码发送至[email protected],本人也正在使用oo4o,也许可以帮兄台解决。
      

  7.   

    在dll(进程内组件中)使用oo40,可以调用ostartup(),但没有地方调用oshutdown(),如果,在析构函数中调用,那么就会相互影响,因为,我有好几个dll 同时使用.并且,ostartup会被连续调用,但却无法调用oshutdown,不知道是不是这个问题.
    如果只在应用程序中使用,并不会有这个问题出现,我观察过,不使用时,内存的使用量并不会有所下将,