|
|
1
3
首先,TransactionScope与try/catch不同。TransactionScope是事务的名称范围。必须通过在作用域上调用Complete显式提交作用域中的事务。任何其他情况(包括在作用域中引发的异常)都会导致结束使用block,block处理作用域并隐式回滚未完成的事务,但它不会处理异常。
|
|
|
2
1
事务将为您执行必要的锁定。另外,如果Complete()没有提交事务,则在事务的作用域结束时处理事务时,会有一个隐式回滚(如注释所示)。因此,如果出现异常,所有操作都会自动回滚,数据库中不会发生任何更改。例如,如果第二个查询失败,它还将丢弃第一个查询的更改。 但是,对于StringWriter,它仍然包含直到出现故障的消息(例如
这两个代码都可以出现在您的日志中。
|