You develop a Windows Communication Foundation (WCF) service that employees use to access bonus information.
You define the following service contract. (Line numbers are included for reference only.)
01 [ServiceContract(SessionMode = SessionMode.Required)]
02 public interface IFinancialService
03 {
04 [OperationContract]
05 string Login(int employeeID, string passwordHash);
06
07 [OperationContract]
08 double GetBonus(int month);
09
10 [OperationContract(IsTerminating = true)]
11 void Logout();
12 }
Client application can invoke methods without logging in. You need to ensure that the client applications invoke Login before
invoking any other method. You also need to ensure that client applications cannot consume the service after invoking Logout.
Which two action should you perform? (Each correct answer presents part of the solution. Choose two.)
A.
Replace line 04 with the following code.
[OperationContract(IsInitiating = false)]
B.
Replace line 04 with the following code.
[OperationContract(IsInitiating = true, IsTerminating = true)]
C.
Replace line 07 with the following code.
[OperationContract(IsInitiating = false)]
D.
Replace line 10 with the following code.
[OperationContract(IsInitiating = false, IsTerminating = true)]
Explanation:
OperationContractAttribute.IsInitiating
Gets or sets a value that indicates whether the method implements an operation that can initiate a session on the server (if such a session exists).OperationContractAttribute.IsInitiating Property
(http://msdn.microsoft.com/en-us/library/system.servicemodel.operationcontractattribute.isinitiating.aspx)
CD