You are creating a Windows Communication Foundation service by using Microsoft .NET Framework 3.5.
The service contains the following code segment
[ServiceContract]
public interface IMyService
{
[OperationContract(IsOneWay=true, ProtectionLevel=ProtectionLevel.None)]
[TransactionFlow(TransactionFlowOption.Allowed)]
void DoSomething();
}
You need to ensure that the DoSomething operation can participate in transactions.
Which code segment should you use to replace the existing operation contract?
A.
[OperationContract(ProtectionLevel=ProtectionLevel.None)]
[TransactionFlow(TransactionFlowOption.Allowed)]
void DoSomething();
B.
[OperationContract(ProtectionLevel= ProtectionLevel.EncryptAndSign)]
[TransactionFlow(TransactionFlowOption.NotAllowed)]
void DoSomething();
C.
[OperationContract(IsOneWay=true,
ProtectionLevel=ProtectionLevel.EncryptAndSign)]
[TransactionFlow(TransactionFlowOption.Allowed)]
void DoSomething();
D.
[OperationContract(IsOneWay=true, ProtectionLevel=ProtectionLevel.Sign)]
[TransactionFlow(TransactionFlowOption.Mandatorv)]
void DoSomething();