Csharp/C#教程:如何检查Dotnet事务是否回滚?分享


如何检查Dotnet事务是否回滚?

如何检查dotnet交易是否已关闭?

using(TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew)){ try{ //Do something; scope.Complete(); //denotes the transaction completed successful. } catch(TransactionAbortedException ex) { //scope.Complete(); is never called, the transaction rolls back automatically. } catch(ApplicationException ex) { } } 

你的标题问了一件事,你的问题又问了另一件事。 所以,我想要你的头衔。

如果您想知道事务是否已回滚或仅设置为回滚,则可以检查

 transaction.WasRolledBack // true if transaction is rolled back 

在这里, transaction是ITransaction的一个实例

编辑(根据您的评论)

 var isRolledBack = false; using (var connection = new SqlConnection()) { using (var transaction = connection.BeginTransaction()) { try { // do your stuff here with transaction } catch (Exception ex) { transaction.Rollback(); isRolledBack = true; throw; } } } 

现在,您可以检查isRolledBack标志以查看事务是否已回滚

如果您在SQL Server上,则可以使用DBCC OPENTRAN

https://msdn.microsoft.com/en-us/library/ms182792.aspx

上述就是C#学习教程:如何检查Dotnet事务是否回滚?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/950002.html

(0)
上一篇 2021年11月18日
下一篇 2021年11月18日

精彩推荐