各位大虾:
小弟在使用VB编写COM+应用时碰到这样一个问题,如下:
COM+应用注册后,在IIS应用中创建应用对象时不能创建成功,然后跟踪COM+中的应用,发现,该应用组件始终处于运行状态,可以时间一直拖,然后又占用100%的CPU资源,并且内存在不断的上升,和程序出现死循环的现象一致,而且在NT(2000)的任务管理器中无法删除该组件使用(dllhost.exe),只有通过调试方式调用VC++采用可能注销。
本人创建的组件有以下特点:
1、组件比较大(编译后大小超过1M);
2、组件只有一个可外部创建对象,其他对象都通过应用创建;
3、组件是先注册再导入COM+(使用直接导入方式也会出现以上问题);
4、COM的编译方式为:Apartment Threaded
该组件只有在使用Web应用时,第一次登陆才会出现,而且出现机率在40%左右,一旦第一次使用成功后,后面再登陆使用就不会再出现该问题;
一般情况下,该组件在VB直接调用出错的机率为万分之一,而且,如果在服务器先打开VB应用(涉及调用该组件),则执行Web应用不会出现该问题。
不知各位大虾有没有碰到类似的问题,有什么解决方法,多谢了。
本人联系方式:wangnp@21cn.com
Jackie Wang