A class named TestService implements the following interface:
[ServiceContract]
public interface ITestService
{
[OperationContract]
DateTime GetServiceTime();
}
TestService is hosted in an ASP.NET application.
You need to modify the application to allow the GetServiceTime method to return the data formatted as JSON.
It must do this only when the request URL ends in /ServiceTime. What should you do?
A.
Add this attribute to the GetServiceTime method.
[WebInvoke(Method=”POST”)]
In the web.config file, add this element to system.serviceModel/behaviors/endpointBehaviors.
<behavior name=”Json”>
<enableWebScript />
</behavior>
In the web.config file, configure TestService in the system.serviceModel/services collection as follows:
<service name=”TestService”>
<endpoint address=”/ServiceTime”
contract=”TestService”
behaviorConfiguration=”Json”
binding=”webHttpBinding” />
</service>
B.
Add this attribute to the GetServiceTime method.
[WebInvoke(Method=”GET”, UriTemplate=”/ServiceTime”, ResponseFormat=WebMessageFormat.Json)]
In the web.config file, configure TestService in the system.serviceModel/services collection as follows:
<service name=”TestService”>
<endpoint address=”/ServiceTime”
contract=”TestService”
binding=”webHttpBinding”/>
</service>
C.
Add this attribute to the GetServiceTime method
[WebGet(ResponseFormat=WebMessageFormat.Json, UriTemplate=”/ServiceTime”)]
Create a new svc file named Jsonversion.svc with the following content.
<% @ServiceHost Service=”TestService” Factory=”System.ServiceModel.ActivationWebServiceHostFactory” %>
D.
Add this attribute to the GetServiceTime method.
[WebGet(UriTemplate=”Json)/ServiceTime”)]
Create a new .svc file named Jsonversion.svc with the following content
<% @ServiceHost Service=”TestService” Factory=”System.ServiceModel.ActivationWebServiceHostFactory” %>
Explanation:
WebGetAttribute.ResponseFormat
(http://msdn.microsoft.com/en-us/library/system.servicemodel.web.webgetattribute.responseformat.aspx)The following example shows how to set the ResponseFormat property.
[OperationContract]
[WebGet(ResponseFormat= WebMessageFormat.Json)]
long Mod(long x, long y);
C