System.transactions - это только для поставщиков внешних транзакций, таких как базы данныхC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 System.transactions - это только для поставщиков внешних транзакций, таких как базы данных

Сообщение Anonymous »

Здесь может быть немного не по теме, но я искал ответ, спрашивая Chatgpt и другие, но не мог получить правильный ответ.
Проблема в том, что я немного читал о System. Я не понимаю, что он предназначен для транзакционного кода, например, он интегрируется с транзакциями SQL из коробки. System.transactions .
Другими словами, можем ли мы написать какой -то чистый, транзакционный код C# (без вызова внешних ресурсов, таких как база данных), который будет влиять на какие -то транзакции? /> edit < /h1>
Чтобы прояснить его, я хочу просто 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>
 edit 2 < /h1>
Может быть, здесь будет вариант? Но я не мог найти ничего полезного. Что-то вроде (но также не работает с транзакциями): < /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.
edit 3
Я знаю, что мы можем выполнить код в Commit (или Oflback), внедрив ienlistmentnotification , но это будут просто вызовы, выполненные на конкретных событиях. Я хочу код без использования ienlistmentnotification , который будет заплачен или откат.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... uch-as-dat
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»