有没有办法使用连接池的System.Transactions?

时间:2009-10-01 11:06:51

标签: .net database transactions connection-pooling

我认为Framework 2.0中的System.Transaction类是一个很好的工具,设计精良,旨在简化处理事务时的代码。

但是,(大但是),在不升级到分布式事务的情况下,不可能将这些具有多个连接的类用于同一个数据库(相同的连接字符串)。

http://social.msdn.microsoft.com/forums/en-US/adodotnetdataproviders/thread/3ce488eb-55a8-4535-adc7-c5b29a1523b5/

Multiple Connections With Same Connection String Under A Single Transaction, Elevated Transaction?

微软正在努力解决这个问题,但同时¿任何人都知道一个可靠,简单的解决方法,允许连接池机制,同时保持使用System.Transactions的能力?有可能吗?

1 个答案:

答案 0 :(得分:1)

不确定您要实现的目标:

  • 如果连接进入不同的数据库,则需要分布式事务。
  • 如果连接是同一个数据库,则可以在代码中控制连接的打开。为什么要打开许多连接,是否可以将连接对象作为参数发送并重复使用。

编辑:

我同意以下评论,最好根据需要打开和关闭连接。但是,如果连接是事务的一部分,它将不会返回到池中,在这种情况下,您可以尝试重用它。