You are developing a Windows Communication Foundation (WCF) service that allows customers to update financial data. The client applications call the service in a transaction. 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 class UpdateService : IDataUpdate 11 { 12 [OperationBehavior(TransactionScopeRequired = true, TransactionAutoComplete = true)]13 public void Update(string accountNumber, double amount) 14 { 15 try 16 { 17 ... 18 } 19 catch(Exception ex) 20 { 21 WriteErrorLog(ex); 22 ... 23 } 24 } 25 } 26Customers report that the transaction completes successfully even if the Update method throws an exception.You need to ensure that the transaction is aborted if the Update method is not successful. What should you do? ()
A.
Insert the following line at line 22: throw;
B.
Insert the following line at line 09: [ServiceBehavior(TransactionAutoCompleteOnSessionClose=false)]
C.
Replace line 12 with the following line: [OperationBehavior(TransactionScopeRequired=true, TransactionAutoComplete= false)]
D.
Insert the following line at line 09.: [ServiceBehavior(TransactionAutoCompleteOnSessionClose=true)]