Singleton模式与数据访问等问题……请高手解答

tw1984 2004-09-01 09:51:38
前文:小弟做了一个项目,是多层结构的,各个层都使用了Singleton模式,以减少对象建立的开销,并且保证数据的一致性,但后来出现了一个问题~~

原因:由于我在数据访问组件中实现了一个内置的连接持续功能,就是page开始的时候打开连接,结束的时候断开,这样才可以使用SELECT @@IDENTITY来获取新建ID,否则在各层中多处打开并关闭连接的话,SELECT @@IDENTITY将无法跨层使用。。。

问题:于是出现了这样的问题,使用Singleton的情况下,逻辑层对象仅仅建立一次,所以第一次访问便没有问题,可以后再访问的时候,数据连接组件对象就被默认加到了逻辑层的单例中了,我试图在非新建对象的情况下,让逻辑层替换掉数据访问对象,结果居然没有任何效果。。。于是,我索性将数据访问组件也搞成Singleton的了。。。这下问题解决了,但我很担心,这样会不会导致并发容量变得很小?以及DataReader的时候独占了数据访问对象中的数据连接?望高手给予答复,谢谢。

...全文
82 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnlamar 2004-09-01
  • 打赏
  • 举报
回复
更正:page <-> Facade <-> Rules <-> Entity <-> DataAccess
cnlamar 2004-09-01
  • 打赏
  • 举报
回复
page <-> Facde <-> Rules <-> DataAccess

代码一贴就太太长了。。。而且分得比较开,很难贴
thisisnet 2004-09-01
  • 打赏
  • 举报
回复
能否贴出部分代码?
你的Page里面的数据是从DataAccess层获取还是经过了Common层?
说实话我看不太懂阿。
cnlamar 2004-09-01
  • 打赏
  • 举报
回复
up

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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