Я считаю, что понимаю 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 sake
}