As we have seen now, 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 flows transaction |
Service contract opts in transaction |
Service operation requires transaction scope |
Possible result |
---|---|---|---|---|
True |
Yes |
Allowed or mandatory |
True |
Service executes under the flowed in transaction |
True or false |
No |
Allowed |
True |
Service creates and executes within a new transaction |
True |
Yes or No |
Allowed |
False |
Service executes without a transaction |
True or false |
No |
Mandatory |
True or False |
SOAP exception |
True |
Yes |
NotAllowed |
True or False |
SOAP exception |