Я полагаю, что понимаю TransactionScopeOption.Suppress
и TransactionScopeOption.Required
, но мне трудно понять, что делает TransactionScopeOption.RequiresNew
. Основываясь на последнем объяснении, которое я прочитал, будут ли следующие два блока кода функционально одинаковыми? Это точное представление того, что означает RequiresNew
?
using (var ts1 = new TransactionScope(TransactionScopeOption.RequiresNew))
{
DoStuff();
ts1.Complete();
}
и
using (var ts2 = new TransactionScope(TransactionScopeOptions.Suppress))
{
using (var ts3 = new TransactionScope())
{
DoStuff();
ts3.Complete();
}
ts2.Complete(); // not required but recommended for consistency's sake
}