Nếu nhiều hơn thì một kết nối được mở trong cùng một TransactionScope
nó sẽ được tự động chuyển lên DTC.
Bạn cần đóng kết nối đầu tiên trước khi gọi Method2
.
public static void Method1()
{
using (TransactionScope scope = new TransactionScope())
{
bool success = true; // will be set to false in an omitted catch
bool isSomethingHappened
using (var connection = new SqlConnection(ConnectionString1))
{
isSomethingHappened = // Execute query 1
}
if(somethingHappened)
Method2();
if(success)
scope.Complete();
}
}