为什么我包装的dll只能被一个用户调用

weichenggao 2009-07-22 11:32:40
我封装了一个com组件的dll.

然后在web程序中调用通过后,今天晚上用loadrunner做压力测试

发现只是一个用户的时候,就正常,如果模拟2个以上的用户的时候,调用com组件就出错!

请问那位有这方面的经验,为什么我包装的com组件的dll 同时只能给一个用户访问,不能给多个用户访问.

我是step - by -step 完全按照书上的例子封装的;

请大家给点意见,谢谢!
...全文
100 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
marrco2005 2009-07-23
  • 打赏
  • 举报
回复
也许是同时读写临界资源了吧
wshcdr 2009-07-23
  • 打赏
  • 举报
回复
估计是套件之类的问题
gw_net 2009-07-23
  • 打赏
  • 举报
回复
即使COM是STA,微软推荐ASP。NET用STA,但是即使不是也不会出错,
你的错误信息是什么?
方面把可以复现问题的代码发给我吗?gw_net@163.com
togoblime 2009-07-23
  • 打赏
  • 举报
回复
把你的COM组件基类从public CComObjectRootEx<CComSingleThreadModel>改为
public CComObjectRootEx<CComMultiThreadModel>试试
oyljerry 2009-07-23
  • 打赏
  • 举报
回复
首先看你的客户端是否可以多个同时访问你的com组件,区分是com组件的问题还是你脚本调用的客户端问题

com组件对于多个同时请求,是否有处理,函数是否可重入
fengrx 2009-07-23
  • 打赏
  • 举报
回复
感觉应该是loadrunner脚本问题。

LZ可以这样试:
写个小测试程序,启动两次,都调用此COM。如果没问题那肯定是loadrunner脚本问题了。
yxder 2009-07-23
  • 打赏
  • 举报
回复
可以看下 同步与互斥机制
beyonld 2009-07-23
  • 打赏
  • 举报
回复
函数可能不可重入,用到全局变量
weichenggao 2009-07-23
  • 打赏
  • 举报
回复
是什么意思吗
pzhuyy 2009-07-23
  • 打赏
  • 举报
回复
先不用loadrunner,自己同时运行二次看是否正确先。
做鸡真好吃 2009-07-23
  • 打赏
  • 举报
回复
有没有远程用户?
rendao0563 2009-07-23
  • 打赏
  • 举报
回复
首先你的组件支持多重实例吗?如果一个进程多次实例化你的组件。会有问题吗? 你的组件实例是否有共用的数据。比如静态数据、单键。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧