与TransactionScope相比,使用IDbTransaction有哪些优缺点?我建议一些--请改正/填写这份清单。
TransactionScope:的优势
TransactionScope的缺点:
在transaction.期间不支持IsolationLevel更改
发布于 2011-03-17 09:41:54
方便是很重要的--特别是因为它可以用来包装您无法控制的代码(因为默认情况下,您包装的代码将自动登记)。这意味着可以包装使用服务器的预先存在的库。
性能受到轻微影响,但请注意,在许多情况下,您将使用轻量级事务管理器,而不是DTC --这意味着您不需要支付全部DTC成本。
另一个缺点是嵌套事务不能回滚;任何回滚都会立即回滚外部事务。就我个人而言,我喜欢这种方法;如果事情变坏了,请尽快停止。
这是第3点中的查询;您可以在事务范围内打开/关闭任意数量的连接,而不会影响行为,但您可能会发现(取决于具体情况)事务提升到DTC。如果您与多个感知trnasaction的服务器对话,它几乎可以保证提升。
另一个不同之处是:适用不同的超时,特别是当DTC介入时。这是有意义的:长期运行的分布式事务是有害的,可能表示跨服务器死锁。死锁通常在单个服务器上检测到,但在分发时几乎不可能自动发现,因此硬超时是必不可少的。
https://stackoverflow.com/questions/5337175
复制相似问题