TL;博士
对于这个问题,答案应该是AB
。 A
我可以理解,但我找不到任何有关CreateChannnel
B
方法的信息
任何人都可以解释为什么回答B
被认为是正确的,或者不是否正确?我最好放弃这些练习考试?
背景
我正在尝试使用一些练习考试来学习WCF
。我已经遇到过几个问题,我不确定给出的答案是否正确。
以下问题,除了显而易见的拼写错误(intetface INameService)之外,严重增加了我的疑虑。
问题是这样的
问题21
Windows Communication Foundation(WCF)解决方案使用以下方法 合同。 (行号仅供参考。)
01 [ServiceContract(CallbackContract=typeof(INameService))]
02 public interface IGreetingService
03 {
04 [OperationContract]
05 string GetMessage();
06 }
07
08 [ServiceContract]
09 public intetface INameService
10 {
11 [OperationContract]
12 string GetName();
13 }
当客户端在服务接口上调用GetMessage时,该服务 在客户端回调上调用GetName。在客户端,班级 NameService实现回调契约。客户端通道创建如下:
22 InstanceContext callbackContext = new Instance Context(new NameService("client"));
23
24
25 DuplexChannelFactory <IGreetingService> factory =
new DuplexChannelFactory<IGreetingServices>(typeof(NameService),binding,address);
26 IGreetingService greetingService = factory.CreateChannel();
您需要确保由。处理服务回调 NameService的实例。有两种可能的方法来实现这一目标 目标? (每个正确答案都提供了一个完整的解决方案。选择两个。)
我可以选择以下答案
A.将第25行更改为以下代码段:
DuplexChannelFactory factory = new DuplexChannelFactory(callbackContext,binding, 地址);B.将第26行更改为以下代码段:IGreetingService greetingServicefactory = CreateChannel(callbackContext);
C.在第26行之后添加以下代码段:
callbackContextIncomingChannelsAdd((IDuplexChannel)GreetingService的)D.在第26行之后添加以下代码段:
callbackContext.OutgoingChannels.Add((IDuplexChannel)GreetingService的)
对于这个问题,答案应该是AB
。 A
我可以理解,但我找不到任何有关CreateChannnel
B
方法的信息
任何人都可以解释为什么答案B
被认为是正确的,或者不是否正确,我最好放弃这些练习考试?
答案 0 :(得分:4)
答案B是印刷错误。它应该是:
IGreetingService greetingService = factory.CreateChannel(callbackContext);