gpt4 book ai didi

c# - TransactionScope 检查事务是否提交正常

转载 作者:行者123 更新时间:2023-11-30 22:12:11 25 4
gpt4 key购买 nike

您好,有没有办法检查使用 TransactionScope 的事务是提交还是回滚?

最佳答案

在处理 TransactionScope 之前,实际的提交不会发生。如果 Commit 由于任何原因失败,将抛出异常。您应该捕获该异常并将失败交易的逻辑放在 Catch block 中。如果没有抛出异常,您应该确信 Commit 已成功。如果出于我无法想到的任何原因,您不信任该框架,您可以随时创建另一个范围并查询结果以确保它们已被应用。

var transactionFailed = false;
try
{
using (var tx = new TransactionScope())
{
tx.Complete();
}
}
catch (TransactionAbortedException ex)
{
transactionFailed = true;
writer.WriteLine("TransactionAbortedException Message: {0}", ex.Message);

}
catch (ApplicationException ex)
{
transactionFailed = true;
writer.WriteLine("ApplicationException Message: {0}", ex.Message);
}
catch (Exception ex)
{
transactionFailed = true;
writer.WriteLine("Exception Message: {0}", ex.Message);
}

关于c# - TransactionScope 检查事务是否提交正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19865742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com