You are modifying a Windows Communication Foundation (WCF) service that allows customers to update financial data. The service currently requires a transaction from the client application and is working correctly. The service contract is defined as follows. (Line numbers are included for reference only.)
01 [ServiceContract()]
02 public interface IDataUpdate
03 {
04 [OperationContract()]
05 [TransactionFlow(TransactionFlowOption.Mandatory)]
06 void Update(string accountNumber, double amount);
07
08 }
09
10 public class UpdateService : IDataUpdate
11 {
12
13 [OperationBehavior(TransactionScopeRequired=true, TransactionAutoComplete=true)]
14 public void Update(string accountNumber, double amount)
15 {
16 try
17 {
18 ...
19 }
20 catch(Exception ex)
21 {
22 ...
23 }
24 }
25 }The service must be modified so that client applications do not need to initiate a transaction when calling the operation. The service must use the client application’s transaction if one is available. Otherwise it must use its own transaction.You need to ensure that the service operation is always executed within a transaction.
What should you do?()