You are developing an application to update a users social status. You need to consume
the service using Windows Communication Foundation (WCF). The client configuration is
as follows. <system.serviceModel> <bindings> <webHttpBinding> <binding
name=”SocialConfig”> <security mode=”TransportCredentialOnly”> <transport
clientCredentialType=”Basic” realm=”Social API” /> </security> </binding>
</webHttpBinding> </bindings> <client> <endpoint address=”http://contoso.com”
binding=”webHttpBinding” bindingConfiguration=”SocialConfig” contract=”ISocialStatus”
name=”SocialClient” /> </client> </system.serviceModel> The service contract is defined as
follows. [ServiceContract] public interface ISocialStatus { [OperationContract]
[WebInvoke(UriTemplate = “/statuses/update.xml?status={text}”)] void UpdateStatus(string
text); } Which code segment should you use to update the social status?
A.
using (WebChannelFactory<ISocialStatus> factory = new
WebChannelFactory<ISocialStatus>(typeof(ISocialClient))) {
factory.Credentials.Windows.ClientCredential.UserName = user.Name;
factory.Credentials.Windows.ClientCredential.SecurePassword. SetAt(0,
Convert.ToChar(user.Password) ); ISocialStatus socialChannel = factory.CreateChannel();
socialChannel.UpdateStatus(newStatus); }
B.
using (ChannelFactory<ISocialStatus> factory = new
ChannelFactory<ISocialStatus>(“POST”)) {
factory.Credentials.Windows.ClientCredential.UserName = user.Name;
factory.Credentials.Windows.ClientCredential.SecurePassword. SetAt(0,
Convert.ToChar(user.Password) ); ISocialStatus socialChannel = factory.CreateChannel();
socialChannel.UpdateStatus(newStatus); }
C.
using (ChannelFactory<ISocialStatus> factory = new
WebChannelFactory<ISocialStatus>(typeof(ISocialStatus))) {
factory.Credentials.UserName.UserName = user.Name;
factory.Credentials.UserName.Password = user.Password; ISocialStatus socialChannel =
factory.CreateChannel(); socialChannel.UpdateStatus(newStatus); }
D.
using (WebChannelFactory<ISocialStatus> factory = new
WebChannelFactory<ISocialStatus>(“SocialClient”)) {
factory.Credentials.UserName.UserName = user.Name;
factory.Credentials.UserName.Password = user.Password; ISocialStatus socialChannel =
factory.CreateChannel(); socialChannel.UpdateStatus(newStatus); }
Explanation: