SqlConnection.ClearPool
如果我将事务中使用的连接作为参数传递(例如使用 a ),会有什么行为System.Transactions.TransactionScope
?
例如,在这个片段中
using(var tx=new System.Transactions.TransactionScope())
{
var sqlConn=new System.Data.SqlClient.SqlConnection(...);
/*do something with connection*/
System.Data.SqlClient.SqlConnection.ClearPool(sqlConn);
tx.Complete();
}
通过ClearPool
调用,我是使用相同的连接字符串清除所有连接(无论事务如何),还是实际上我只关闭我正在传递的连接(因为它与事务“关联”)?
我在互联网上搜索,但一无所获。从 MSDN(这里和这里)可以清楚地看出没有事务的行为;此外,我了解,如果我在交易中,连接池会尝试向我提供我之前在该交易中使用的连接(如果它仍然存在)。但是我不清楚ClearPool
使用事务中使用的连接调用时的行为。