问个COM+的问题(50分)

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

mandying

Unregistered / Unconfirmed
GUEST, unregistred user!
3层,COM+连接到数据库
我想做一个 ConnectionPool,他是一个数据库连接的缓冲池,就是一些Query结束后,就
退出,但那个数据库连接还存在,那么下次另一个Query来的时候,如果他还是想连到上次
那个数据库,那么他就不用再建一个连接了。当然,对数据库来说不能建立太多连接的。
但现在中间那层,每连一次数据库就CreateOleObject( ) 一个COM+的对象。而那些缓冲池是对象的属性,而这对象就连一次数据库,对象生命就结束了,这样达不到缓冲池的效果了,怎么办呢?
因为之前我是用 TCPServer,监听TCPClient的,所以只要服务器.exe 还在运行,那么
缓冲池就一直在。现在用COM+怎么办?刚接触,很多不懂。
 
COM+内部有缓冲池的管理,所以如果你的组件是无状态的,可以不必自己再搞一个缓冲池,如果确实想用缓冲池也是可以的,可以把原来的访问数据库的操作封装成一个组件,然后可以利用COM+提供的ISharedProperty接口存放到公共属性区,调用的时候CreateSharedPropertyGroup和CreateSharedPropertyGroupManager来存取就行了。
 
后退
顶部