Understanding the distributed transaction support of a WCF service
As we have seen, the distributed transaction support of a WCF service depends on the binding of the service, the operation contract attribute, the operation implementation behavior, and the client applications.
The following table shows some possible combinations of the WCF-distributed transaction support:
Binding permits transaction flow |
Client has transaction flow enabled |
Service contract opts in transaction |
Service operation requires a transaction scope |
Possible result |
---|---|---|---|---|
True |
Yes |
|
True |
Service executes under the flowed-in transaction |
True or false |
No |
|
True |
Service creates and executes within a new transaction |
True |
Yes or no |
|
False |
Service executes without a transaction |
True or false |
No |
|
True or false |
SOAP exception |
True |
Yes |
|
True or false |
SOAP exception |