在 C# 项目中,我在System.Transactions.Transaction
. 当事务超时发生时,回滚在工作线程中执行:显然,事务使用计时器并在计时器到期时调用计时器回调( Microsoft关于此问题
的文档很少)。因此,我的事务资源中 ) 的实现是异步调用的。 IEnlistmentNotification.Rollback(...
我的问题是:我该如何处理?当然,回滚代码会更改资源的内部状态,例如通过丢弃更改。看来我必须同步对这个资源的所有访问。但是,该资源不是为线程保存而设计的。有没有人有这个问题的经验,或者是否有某种“最佳实践”?