top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

What is Transaction Propagation? And how WCF support it?

0 votes
260 views
What is Transaction Propagation? And how WCF support it?
posted Apr 19, 2017 by Madhavi Kumari

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

1 Answer

0 votes

In WCF, transaction can be propagated across service boundary. This enables service to participate in a client transaction and it includes multiple services in same transaction, Client itself will act as service or client.

We can specify whether or not client transaction is propagated to service by changing Binding and operational contract configuration

<bindings>
      <netTcpBinding>
        <binding transactionFlow="true"></binding>
      </netTcpBinding>
    </bindings>

Even after enabling transaction flow does not mean that the service wants to use the client’s transaction in every operation. We need to specify the “TransactionFlowAttribute” in operational contract to enable transaction flow.

[ServiceContract]
public interface IService
{

    [OperationContract]
    [TransactionFlow(TransactionFlowOption.Allowed)]
    int Add(int a, int b);

    [OperationContract]
    int Subtract(int a, int b);
}

Note: TransactionFlow can be enabled only at the operation level not at the service level.

Transaction Propagation here

answer Aug 10, 2017 by Manikandan J
...