TransactionScopeOption.Required について 3 つの質問があります。それは私を夢中にさせ、オンラインでそれらを見つけることができません。
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();
}