我需要实现一个简单的事务。对于这种情况,我的事务类实现了IDisposable接口。这样,我就可以在using语句中使用事务类,如果在该范围内发生任何错误,则在事务被释放时,所有的事情都会回滚。现在,如果“做一些事情”引发了任何错误,我会回滚所有的东西。public async void Dispose(){ // roll back everything on error }
这可能包括清理服务器上的一些资源,在那里我需要调用<e
在使用ADO.NET SqlClient类时,有几种方法可以回滚事务。通过显式调用SqlTransaction.Rollback,或具有命令超时,或事务范围内的事务超时等。但是,在使用SQL Server (2012或更高版本)时,如何检测此回滚何时完成?对于长时间运行的事务,回滚可能需要很长时间,而且通常会占用大量的数据库IO,因此立即重试该事务可能不是明智之举。在我们的情况下,