dllhost可以看作是你的ActiveXDLL的宿主程序。对于你的DLL,首先你需要确定你使用的是MSDTC事务而不是ADO事务,也就是你在代码中是如何实现事务的(通过ADO的BeginTran还是ObjectContext的SetComplete)我不知道你是如何在COM+管理器中设置事务超时,我们一般通过设置adodb.connection对象的命令超时。估计你们的问题可能是事务冲突,你可以在挂起的时候看看SQLServer上的活动情况。COM+中肯定可以调用Now函数我的mail:[email protected]

解决方案 »

  1.   

    to:bucher
    我们通过“组件服务”中对组件属性(点击相应的组件,按鼠标右键)设置组件的事务超时。
    事务处理采用的是SetComplete和SetAbort。
      

  2.   

    听你的描述好像是transaction deadlock & blocking的症状.通常检测办法:
    1.Profiler(Lock:Deadlock and Lock:Deadlock Chain )
       http://support.microsoft.com/default.aspx?scid=kb;en-us;Q282749
    2. Q271509-How to Monitor SQL Server 2000 Blocking
       http://support.microsoft.com/default.aspx?scid=kb;en-us;Q271509检查你的transaction设计:是否在transaction内部允许用户交互输入,如果是这样将有可能导致transaction过长严重依赖于client.另外,如果你能提供更多的信息,比如SQL server版本,你的程序是否使用了多个SQL Server,程序中transaction流信息等等,那将会有助于大家帮你查找错误。- 微软全球技术中心 VC技术支持 本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款 
    (http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。 
    为了为您创建更好的讨论环境,请参加我们的用户满意度调查 
    (http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
    - ======================
      

  3.   

    感谢 acptvc(微软全球技术中心 VC技术支持) ,我们使用的是SQL Server 2000,程序只有一个数据库。在SQL Server中没有使用事务。而且在出现所述症状时SQL Server工作正常。我很想知道为什么dllhost.exe会死掉.
      

  4.   

    如果你的COM+组件配置成server application,那么你的COM+组件将运行在一个surrogate进程dllhost.exe中。当你关掉dllhost.exe的时候,你的COM+组件也就停止运行。你看到的另外一个dllhost.exe是COM+的system applicatio使用的surrogate进程。在administrative tools -〉Component services ->Com+ applications, right click on COM+ Applications, View ->Status,在右面的面板中你就可以看到你的COM+ application 运行在那个dllhost.exe (PID)中了。如果你的dllhost.exe死掉,一种情况可能是放生了AV (Access Violation).你可以使用Q278689使用drwtsn32.exe来搞到dump 文件进行分析;如果组件是VC写的,你可以使用VC++来attach到对应的dllhost.exe上来debug 你的组件。建议你看看帖子:
    http://www.csdn.net/Expert/TopicView1.asp?id=768682希望对你有帮助!- 微软全球技术中心 VC技术支持 本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款 
    (http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。 
    为了为您创建更好的讨论环境,请参加我们的用户满意度调查 
    (http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
      

  5.   

    sorry,上次讲错了,我们使用adodb.connection设置的应该是命令执行超时,感觉是你的程序似乎挂起了。