TransactionScope で 2 つの SQLConnection を使用していますが、この (疑似) コードは正しいですか?
using (TransactionScope ts= new TransactionScope(TransactionScopeOption.RequiresNew))
{
using (SqlConnection connection1 = new SqlConnection(ConnectionString1))
{
(...)
}
using (SqlConnection connection2 = new SqlConnection(ConnectionString2))
{
(...)
}
ts.Complete();
}
または私はこれを使用する必要がありますか?
using (TransactionScope ts= new TransactionScope(TransactionScopeOption.RequiresNew))
{
using (SqlConnection connection1 = new SqlConnection(ConnectionString1))
{
(...)
using (SqlConnection connection2 = new SqlConnection(ConnectionString2))
{
(...)
ts.Complete();
}
}
}
最初のコードは、メソッドでコマンドを抽出できるため、より優れています。ただし、この場合、スコープが完了する前に接続が破棄されるのではないかと心配しています.TransactionScopeへの参加はこれを防ぐのに十分ですか?