【发布时间】:2019-11-20 16:03:18
【问题描述】:
作为Multiple connections to the same DB in the same TransactionScope 的后续行动,我试图找出以下in this guide here 的确切含义:
连接从池中提取并根据事务分配 语境。除非在连接字符串中指定了 Enlist=false,否则 连接池确保连接在 当前上下文。当连接关闭并返回池时 使用登记的 System.Transactions 事务,它被搁置在 这样,该连接池的下一个请求与 相同的 System.Transactions 事务将返回相同的连接 如果有的话。
在另一节中提到
连接从池中提取并根据事务上下文进行分配。
当一个连接关闭时,它会被释放回池中,并根据其事务上下文释放到适当的细分中。
基于以上,我有两个问题:
- 是否可以安全地假设一个已登记的连接永远不会在另一个事务中使用,只要该事务存在,即使它已关闭?是否有任何文件解释我们的假设是否如此?
- 如果仅在登记事务中使用连接,它怎么会不可用?这可能是什么情况?
【问题讨论】:
标签: c# transactions