Before reading these please go through the following articles in this series:
This WCF Service Tutorial is Part 4 in a series of WCF Service FAQs.
What is Service Oriented Architecture (SOA) and how does WCF support it?
SOA is basically an architectural model that dictates a few principles for building business applications in the form of independent, loosely coupled and interoperable services. These services are well defined, self-contained and can work together to achieve certain business functionality without depending on context or state of other services.
WCF supports nearly all principles dictated by the Service Oriented Architecture for developing services; those are also independent, loosely coupled and interoperable. Please visit for detailed discussion on WCF and SOA.
What is ESB in SOA environment?
In a Service Oriented Architecture environment, an Enterprise Service Bus (ESB) acts as a single interface for all messaging among applications and services in a loosely coupled manner. ESB is capable of calling and subscribing to various service provider's methods and subscriptions respectively.
What is Transaction Propagation? And how WCF support it?
Transaction propagation is the ability to propagate a transaction across the boundaries of a single service. Or in other words, we can say that a service can participate in a transaction that is initiated by a client.
In a SOA environment, transaction propagation becomes a key requirement. As we know, WCF supports SOA, so it provides support for transaction propagation as well.
To enable transaction propagation, we need to set the value of the TransactionFlow property of the binding being used. This can be done programmatically as follows:
WSHttpBinding bindingBeingUsed = new WSHttpBinding();
bindingBeingUsed.TransactionFlow = "true";
Or it can be done decoratively by updating the configuration file as follows:
<bindings>
<wsHttpBinding>
<binding name="binding1"
transactionFlow="true" />
</wsHttpBinding>
</bindings>
The default value for the TransactionFlow property is "False".
Do all WCF bindings support Transaction Propagation?
No. Not all WCF bindings support transaction propagation. Only the following list of bindings support it:

Join the conversation! Your thoughts help the community grow.