社区
网络通信/分布式开发
帖子详情
如何让一个COM+对象单实例,急,在线等,问题解决多加100分
wzg1031
2006-12-18 03:17:51
想用一个COM+对象实现数据库访问的功能,业务对象创建数据访问对象通过它来与数据库交互。在使用过程中,发现对于每个业务对象都会产生一个单独的数据访问对象,这样的话,占用资源比较多,我希望每于每个请求都共用一个数据访问对象的实例,而不对于每个请求都生在一个实例。
请各位有此经验的大哥们,帮帮忙了。
...全文
224
9
打赏
收藏
如何让一个COM+对象单实例,急,在线等,问题解决多加100分
想用一个COM+对象实现数据库访问的功能,业务对象创建数据访问对象通过它来与数据库交互。在使用过程中,发现对于每个业务对象都会产生一个单独的数据访问对象,这样的话,占用资源比较多,我希望每于每个请求都共用一个数据访问对象的实例,而不对于每个请求都生在一个实例。 请各位有此经验的大哥们,帮帮忙了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
GARNETT2183
2006-12-19
打赏
举报
回复
使用单例模式。。。去查查模式设计的这一章吧。。。
dabaicai
2006-12-19
打赏
举报
回复
我们原来做的时候也是用一个ADOConnection的,没遇到什么特别的问题,因为它仅仅是一个连接,线程应该也不会有问题
另外对于单实例的问题(好像你上面的问题解决了,就没有这个问题了,呵呵),在C++/C#类中由于有静态这个概念,比较好办,在delphi中,没有试过,不敢乱说啊
wzg1031
2006-12-19
打赏
举报
回复
附带问一个问题:一个套间如果是STA,那么那个套间有且只有一个线程和其关联.此处的"一个线程"指的是同一个线程吗,还是只能和一个线程关联(即多个线程,并不要求是同一个线程)
wzg1031
2006-12-19
打赏
举报
回复
楼上各位所说的单实例,其实在Jave和C++中是好实现,因为有静态变量的概念,在delphi中没有静态变量的概念,另外我觉得如果要实现单实例,并且允许多线程访问的话,只能在MTA,NA中实现,用STA我觉得根本就不能实现单实例.
wzg1031
2006-12-18
打赏
举报
回复
to:yi10000()
能说具体点吗?
我现在的做法是用一个MtsDM做数据访问接口,做成一个单独的COM+对象,里面提供查询,增,删,改等与数据库操作相关的操作。
yi10000
2006-12-18
打赏
举报
回复
你可以统一数据库输入和输出接口,都在一个Com+中实现就可以了
wzg1031
2006-12-18
打赏
举报
回复
to:dabaicai(不再做菜鸟)
你说的“一般情况下其他的操作都是在一个连接访问上完成的”,这个不会出现问题吗?每个线程如果用一个ADOConnection不行吧,不能保证线程安全啊。请具体说说你的方法。还有单例在COM+中的实现谢谢
to:wizardqi(男巫)
用对象池是可以实现。用对象池有什么要注意的吗?请指点
wizardqi
2006-12-18
打赏
举报
回复
这个应该简单呀,如果是COM+的话你可以使用Neutral模型,将Pooling数量设为固定值即刻节约资源.
dabaicai
2006-12-18
打赏
举报
回复
怎么实现单实例,看看设计模式里面的单一模式就知道了
对于你的情况,该怎么使用,要考虑清楚,一般情况下其他的操作都是在一个连接访问上完成的
YOLACT++实时
实例
分
割实战:训练自己的数据集
YOLACT++是一种先进的基于深度学习的实时
实例
分
割方法,可对物体的每个
实例
进行像素级
分
割。 本课程将手把手地教大家使用labelme图像标注工具制作数据集,并使用PyTorch版的YOLACT++训练自己的数据集,从而能...
分
布式服务 API 的幂等设计方案 & Spring Boot + Redis 拦截器实现
实例
分
布式服务 API 的幂等设计方案 & Spring Boot + Redis 拦截器实现
实例
什么是幂等? 简
单
讲,幂等性是指相同的参数调用同
一个
API,执行一次或多次效果一样。 在函数式编程里面,这叫“无副作用”,Pure Function。 用业务的语言将,就是:对于同一笔业务操作,不管调用多少次,得到的结果都是一样的。
问题
场景 假如你有个服务提供
一个
接口,结果这个服务部署...
C++基础语法+
实例
--入门版
C++基础入门 1 C++初识 1.1 第
一个
C++程序 编写
一个
C++程序总共
分
为4个步骤 创建项目 创建文件 编写代码 运行程序 1.1.1 创建项目 Visual Studio是我们用来编写C++程序的主要工具,我们先将它打开 1.1.2 创建文件 右键源文件,选择添加->新建项 给C++文件起个名称,然后点击添加即可。 1.1.3 编写代码 #include<iostream> using namespace std; i...
linux常用命令大全(linux基础命令入门到精通+
实例
讲解+持续更新+命令备忘录+面试复习)...
作者:蓝藻(罗蓝国度) 创建时间:2018.7.3 编辑时间:2019.7.16 前言 本文特点 授之以渔:了解命令学习方法、用途:不再死记硬背,拒绝漫无目的; 准确无误:所有命令执行通过(环境为centos7),拒绝复制粘贴; 实用性高:命令多为实际工作中用到的,
实例
讲解,拒绝纯理论; 条理清晰:
分
类归纳,快速找到想要的命令,拒绝天马行空; 总结性强:只列常用语法,易错情况强调,拒绝照搬照套。...
jenkins2.164.1+gitee1.8.3.1+maven3.6+docker 部署
实例
新建任务 构建
一个
maven项目(如果没有需要下载插件) tab1 General 中如果jenkins本地安装了jdk此处可以不选,如果没有安装则需要全局设置
一个
tab2如下,配置git地址和安全 Credentials安全证书添加 类型选择ssh priviate key
单
选后输入key key的生成规则,咱jenkins服务器中执行以下命令,全部回车即可。 ssh-ke...
网络通信/分布式开发
1,593
社区成员
32,964
社区内容
发帖
与我相关
我的任务
网络通信/分布式开发
Delphi 网络通信/分布式开发
复制链接
扫一扫
分享
社区描述
Delphi 网络通信/分布式开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章