Другими словами, можем ли мы написать какой -то чистый, транзакционный код C# (без вызова внешних ресурсов, таких как база данных), который будет влиять на какие -то транзакции? /> Чтобы прояснить его, я хочу просто пример C# без DBS или других третьих сторон, это было бы так (конечно, это псевдод): < /p>
Код: Выделить всё
var x = 0;
using (var t = new TransactionScope())
{
// Do some transactional work
x++;
// Note no t.Complete() call, so transaction would be rolled back
}
// Here transactional work would be undone, due to transaction being not commited,
// so x would be still 0
< /code>
Может быть, написание в файловую систему будет вариантом здесь? Но я не мог найти ничего полезного. Что-то вроде (но также не работает с транзакциями): < /p>
using (var t = new TransactionScope())
{
// Do some transactional work
File.WriteAllText("path", "content");
// Note no t.Complete() call, so transaction would be rolled back
}
// Here transactional work would be undone, due to transaction being not commited,
// so the file should not be changed.
Подробнее здесь: https://stackoverflow.com/questions/796 ... uch-as-dat
Мобильная версия