ado.net统一事务,及连接池管理(一)

原创 2006年06月22日 09:30:00

一、引子

在分层架构的系统中,业务层(Buiness)通常需要调用多个数据访问层(DAO)方法才能实现1个完整的业务数据处理,这就需要考虑事务的统一管理。除了重量级的COM+外,能否有一种轻量有的事务管理方法呢?我思考良久,也曾在CSDN发贴寻求良方。

二、解决方案

经过数次的试验,决定借鉴如java中JTA的概念,将数据库连接与线程绑定,同一线程中启动的事务即为同一事务。终于可行,不敢独享。具体遵循如下:

1、由‘事务管理器’统一管理事务及数据库连接,防止数据库连接的实例在各层方法中层层传递,甚至做到在某些层次看不到事务及连接,只感觉到对象。

2、‘事务管理器’能够不同的数据源,即需要抽象出数据库连接管理器。

3、同一线程中启动的事务为同一事务。将数据库连接放入到HashTable,并以CurrentTread为key。

4、给数据库事务的标志属性(如:事务是否已经开始)加使用特性(Attribute)ThreadStatic。

相关文章推荐

关于ADO.NET连接池 - 深蓝居 - 博客园

前几天同事问我一个问题,一种CS架构的程序,直接把SQL Server作为服务端,每个客户端直接连接数据库操作,如果客户端打开的数量过多时SQL Server的连接数将会特别高,数据库端形成性能瓶颈,...

Ado.net中SQLServer数据库连接池

Ado.net中SQLServer数据库连接池 关于数据库连接池,MSDN有如下文字: 连接到数据库服务器通常由几个需要很长时间的步骤组成。 必须建立物理通道(例如套接...
  • Draling
  • Draling
  • 2013年05月08日 17:11
  • 1787

ADO.NET之使用连接池技术

连接到数据库服务器通常需要一定的时间,且服务器也需要一定的资源来处理连接。Web应用程序有时处理成千上万的连接,需要相当多的资源来处理连接。ADO.NET具有连接池的特性,连接池的功能是保留一定数量的...

ADO.NET(三) 连接池、Command、DataReader

一、连接池 虽然请求链接耗时很短,但是确实是需要时间的。一般使用连接池来优化,链接池保持已经打开的数据库链接,这些链接使用相同数据源之间的会话共享。这样就省下了不断 创建和销毁链接的时间了。ADO.N...

ADO.NET中SQL Server数据库连接池

实际上,大多数应用程序仅使用一个或几个不同的连接配置。 这意味着在执行应用程序期间,许多相同的连接将反复地打开和关闭。 为了使打开的连接成本最低,ADO.NET 使用称为连接池的优化方法。 连接池减...
  • unciel
  • unciel
  • 2011年08月12日 10:24
  • 361

五分钟让你全面理解ADO.NET连接池

知道现在编程什么是最宝贵的?数据库连接,它其实是很耗费资源的。这里我们就连接池这个问题我们来一起讨论讨论吧。数据库连接池是为了更有效地利用数据库连接的最重要措施。它对于一个大型的应用系统的性能至关重要...

ADO.NET数据连接池

21世纪什么最贵?数据库连接。对于以数据库做数据存储基石的应用系统来说,数据库连接是整个系统中最珍贵的资源之一。数据库连接池是为了更有效地利用数据库连接的最重要措施。它对于一个大型的应用系统的性能至关...
  • WuLex
  • WuLex
  • 2016年06月14日 10:46
  • 1099

黑马程序员_什么是ADO.NET、连接池

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 程序要和数据库交互要通过AD...

ADO.NET 细说数据库连接池

ADO.NET 细说数据库连接池 题外话 通过前几章的学习,不知道大家对ADO.NET有一定的了解了没有。撇开文章质量不讲,必须肯定的是,我是用心去写每一篇文章的。无论是是在排版上,还...

ADO.net 的连接池

MSDN中关于数据库连接池的介绍如下: 连接到数据库服务器通常由几个需要很长时间的步骤组成。 必须建立物理通道(例如套接字或命名管道),必须与服务器进行初次握手,必须分析连接字符...
  • fhzh520
  • fhzh520
  • 2013年11月01日 10:37
  • 539
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ado.net统一事务,及连接池管理(一)
举报原因:
原因补充:

(最多只允许输入30个字)