トランザクション TransactionFlow属性、サービスのコントラクトに定義する。 サービスのコントラクトはクライアントの呼び出しに、トランザクションをサポートするかどうかを明示に宣言する。 使用例: [TransactionFlow(TransactionFlowOption.Mandatory)] TransactionFlowOption は三つの選択肢があります。
サービスコントラクトに TransactionIsolationLevel を設定されている場合、オペレーションコントラクトは少なくても、一つに TransactionScopeRequired を設定する必要があります。 Mandatory設定されている場合、クライアント側は必ずトランザクションを実装する必要があります。しないと、ProtocolException エラーが発生します。 クライアント側の実装例: using (TransactionScope ts = new TransactionScope(TransactionScopeOption.RequiresNew)) { client.XXXServerMethod(); if (commitTransaction) ts.Complete(); } ウィジェット型CM動画配信サービス manna [マナ] コメント: |