<%
dim myobject,ret
set myobject=server.CreateOjbect("myobjectname")ret=myobject.dosomething()
set myobject=nothing()
%>问题 1
ret=myobject.dosomething()
这里还没有执行完成时,我关了客户端,我如何释放COM问题 2
ret=myobject.dosomething()
如果我让这里执行完了,为什么我还看到 DLLHOST.EXE 还在打开着这个COM
删除COM 的DLL 文件,出错,可我的COM 已经释放了呀

解决方案 »

  1.   

    问题一:那你的组件就不会正确释放
    问题二:dllhost.exe负责维护正给web应用的组件调用
    你释放之后他还会管理这个组件
    他认为这个组件是web应用的一部分
    如果想删除这个组件,一定要先反注册之后再到服务中重新启动IIS admin服务。
      

  2.   

    对象(进程内创建)是自动释放的。
    但是对象释放,不代表dll释放哦。
    ASP会保持与DLL的连接以提高性能的。
      

  3.   

    我在ret=myobject.dosomething() 连接了服务器而且我的服务器上也显示连接了在myobject.dosomething() 还没有执行完成时,我关了客户端网页
    在COM里的 OnEndPage 和FinalRelease里关闭了连接,为什么都没有效果