我有 3 个关于 TransactionScopeOption.Required 的问题,这让我发疯,我在网上找不到他们的答案。
A.我很难思考什么时候我必须编写这段代码?为什么我不应该将 DoSomething2() 放在 TransactionScope4 之外的 TransactionScope3 中?
B.在这之后:TransactionScope4.Complete(),TransactionScope3 也是 Complete 因为它的 TransactionScope 相同,对吧?
C.在WCF中,当我在客户端使用TransactionScope并在其中调用一些服务的方法时,每个方法都使用我在客户端创建的TransactionScope还是创建新的?为什么要创造一个新的?如果方法创建新方法,这就是为什么属性:TransactionAutoComplete 存在吗?
using (TransactionScope TransactionScope3 = new TransactionScope())
{
Service1.DoSomething1();
using (TransactionScope TransactionScope4 = new TransactionScope(TransactionScopeOption.Required))
{
Service1.DoSomething2();
TransactionScope4.Complete();
}
TransactionScope3.Complete();
}