MTS/COM+做中间层,安装到应用服务器上,DLLHost的CPU占用为何90%多? (100分)

  • 主题发起人 主题发起人 Michaelyfj
  • 开始时间 开始时间
M

Michaelyfj

Unregistered / Unconfirmed
GUEST, unregistred user!
MTS/COM+做中间层,把用COM+开发的服务组件安装到应用服务器上,客户端一
连接,到任务管理器中查看,DLLHost的CPU占用为何90%多?
而且有两个DllHost.exe的进程,这正常吗?
 
高手啊,帮帮我啊
 
是不是mts/com+一定会启动DLLHost.exe进程
 
是的,Com+肯定要启动DllHost.exe
你可以在服务组件管理器里面察看你的组件的运行情况,比如当前运行线程个数等
然后再作分析
 
如何查看线程个数啊
 
这是你选择了错误的事务类型而导致的。说说你的项目是怎么构成的,有没有访问数据库,
事务类型设的是什么?
 
如果有多个,杀掉,直到剩下一个为止。
这没什么的。
 
兩個是正常的,CPU佔有率高應該是你的中間層數據及事務所造成的。
 
to Sachow:
哦,我有连接数据库,但在组件管理中,我选择了“不支持事务”。
这对吗?能告诉我这几种事务类型的区别吗?
我的项目是这样的,最早用C/S模式开发的,Delphi+Oralce,业务都
是采用存储过程来做的。后来由于用户需求,改造成三层模式,考虑
到原来系统的重用,采用MTS/COM+来做应用层,通过XML来进行传输。
现在访问的是oracle数据库,这是我软件的基本架构。
另外,哪里有关“MTS/COM+组件管理”的说明啊?
 
to 阿西喊佛:
不能杀啊,有两个,其中一个不能杀,另外一个杀掉后,软件
马上提示“RPC远程调用失败”
to Gusn,
要如何设置中间层的数据和事务??
 
假设你有一个组件名为“DB_AppServer”,该组件是由“Transactional DataModule”向导
建立的,用来连接数据库,那么此组件的事务类型应选为“需要事务”;
假设你有另一个组件名为“BZLgc_AppServer”,该组件通过TClientDataSet + TXXXConnection
从DB_AppServer取得数据,业务逻辑全在此组件中处理,那么此组件的事务类型应选为“支
持事务”。
关于事务的介绍,很多讲MTS/COM+的书上都有论述(包括李维的),你去买一本看看就明白
了。
 
谢谢Sachow,
我现在在看李维的《ADO/MTS/COM+高级编程技术》的书,上午刚拿到,我先
看看,到时再请教你
 
李维的书上没有讲为什么dllhost 会占CPU 90%多的资源啊
 
李维的书上没讲的东西还很多,很多事情都要自己摸索的。你尝试把事务类型按照我上面所
说的那个规律改一下看。
 
应该是你的代码有问题,贴出来我们分析分析吧
 
很通俗,书上说的很多专业俗语是狗屁!
没有什么,做了三年中间层开发,查询支持事务,更新需要一个事务,最好不要选择
需要一个新的事务!
所以要做2个MTS DataMoudel
 
我设置了身份验证为"无",模拟级为“模仿”后就没有这个问题了
 
是因为没有正确的创建远程com+对象的接口实例
 
没有正确的创建远程com+对象的接口实例,那客户端怎么还可以正常运行呢?
 
后退
顶部