COM+的内存问题(100分)

  • 主题发起人 主题发起人 yaoydong
  • 开始时间 开始时间
Y

yaoydong

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟用D5写了COM+组件进行核心业务的封装(采用的是MTS Object而不是MTS Data Module)
,然后客户端通过调用组件进行业务处理,但是现在有一个问题,如果客户需要批量删除一
些记录,那么每条记录都需要调用一次组件的Delete方法,原本我以为这没有多大的问题,
以为同一个客户端COM+组件时服务器端只是创建一个进行响应,但现在如果客户端要删除
100条记录,那么客户端要调用100次,Server端的DLLHOST所占的内存一下子就上去了,
而且导致其他客户不能成功调用组件的方法,不知各位有没有遇见过类似问题,如能
指教,不胜感激。
 
没见过,帮你提前吧。
 
其实在多层里面Server和Client交互的也就是数据,关键就是看数据量的大小,如果数据
量不大的话,那么一切Ok,什么方法都行;如果数据量大了以后,C/S最快,但维护费用
太高。在我原来做Design的时候,因为要考虑component同时被Client和IE share,所以
在查询记录的时候返回的都是MS的Recordset,其实客户端的大数据量的操作也就是删
除,批量删除。我可以通过参数变换的方式解决上面的问题,但未免太过牵强。Design
的时候我采用MTS Object而不是MTS Data Module的原因也就是考虑到Client和IE的share
问题,MTS Data Module做出来的COM+ Component怎么被IE use呢,但确确实实对于
Delphi Client来说,采用Dataset Provider和Client Dataset,让Delphi自己去做
修改删除工作,可能速度可以很快,但是,IE呢?
个人之见,而且本人对Delphi也不是特别熟悉,希望能听到高见。
 
我现在也在做COM+组件!这个问题以前也没考虑过!
不过我的模式和你不大一样,我是通过MTS Data module(Dataset Provider)来更新数据的,
但还是由MTS Object传达操作命令,现在还来不及测试大批量修改数据!我的这种模式可能
会有不少缺点,望各位大虾多多讨论模式上的优缺点!
 
COM的路太难走了。我在几个月前攻了很长一断时间,现在我正在怀疑COM+是否可行,
速度太慢了,虽然李维说配置好了,多用户时速度可以上去,但确实是吗?我发现用
ClienDataSet速度还可以,我以前在的公司是用COM写的,但是系统太慢了,20多个开发
人员也无能为力。
TO yaoydong :难道你每次Delete都要重新创建组件对像吗?
 
to zljzyj:
我当然不是每次创建组件,开始创建好了以后,重复调用,然后释放。
 
慢是因为硬件条件不够,相比UNIX下的那些SERVER的硬件要求,COM+已经是很低的拉,连这个
都不能满足要求的话,慢一点就别怪COM+
 
我没有遇到象你们那样的问题,以前就没有先想过用MTS现在也想用MTS但是不知道怎么用,还是从头看李维的那一套,不过以前我的所有操作都是使用SQL包括插入,删除、查询等等,在单独的客户端应该不会需要太多的关心MTS,在服务器中尽量使用数据库控制(自动增加字段控制)来完成,如果有多插入,尽量捕获信息,如果多用户同时删除...我也不知道怎么办:)
 
各位能给我讲讲如果在IE里面使用MTS Data Module么?
 
受教了,谢谢各位。
 
不知你的系统是怎么样的。
最好使用Win2000,因为对COM+有良好的支持。
还与数据库有关,用SQL Server做后台数据库对COM+支持最好。
其他的如Oracle要修改库的配置。如果是Access则不要使用COM+.
 
多人接受答案了。
 
yaoydong兄,不知道你的问题解决了没有?如何解决?
我们现在也发现相同的情况!如果发现解决办法,可以MAIL我吗:
Dephic@sina.com
谢谢了!
 
后退
顶部