2016-11-11 6 views
0

Я новичок в C# и стараюсь, как работает TransactionScope. Вот мой код, и я удивляюсь, почему моя сделка не отката:C# TransactionScope не откат

string file1 = "txf1.txt"; 
string file2 = "txf2.txt"; 
using (StreamWriter sw = File.CreateText(file1)) 
{ 
    sw.WriteLine("Hello World"); 
} 

using (StreamWriter sw = File.CreateText(file2)) 
{ 
    sw.WriteLine("Hello World"); 
} 

using (TransactionScope scope = new TransactionScope()) 
{ 
    File.AppendAllText(file1, "Transaktion"); 
    scope.Complete(); 
} 

using (TransactionScope scope = new TransactionScope()) 
{ 
    File.AppendAllText(file2, "Transaktion"); 
    //should roll back the file, but doesn't 
} 

ответ

1

Существует не менеджер транзакций в File, это не является «программным обеспечением транзакций». Почти 100% времени TransactionScope будет использоваться совместно с ADO.NET или библиотеками, построенными поверх него, такими как Entity Framework или Dapper. См. Больше в MSDN TransactionScope Class.