1.避免直接用Ado.NET Transaction针对WCF编程
2.TransactionFlow应该设置在Contract而不是Service
3.Service Operation实现中,避免进行Exception捕获,然后手动Rollback Transaction.
//Avoid: [OperationBehavior(TransactionScopeRequired = true)] public void MyMethod( ) { try { ... } catch { Transaction.Current.Rollback( ); } }
4.TransactionMode建议以Client/Service Or Client;