【问题标题】:Why Is VS 2015 Add Service Reference Only Generating a Duplex Client?为什么VS 2015添加服务引用只生成双工客户端?
【发布时间】:2017-07-27 20:22:57
【问题描述】:

我正在使用本地驱动器上的 WSDL 和 XSD 添加服务引用。我过去曾多次这样做,生成的客户端类派生自 System.ServiceModel.ClientBase。出于某种原因,我得到的唯一客户端类是从 System.ServiceModel.DuplexClientBase 派生的。

我尝试取消选中“允许生成异步操作”,但我仍然只得到一个从 DuplexClientBase 派生的客户端类。

如何从 ClientBase 中获取“普通”客户端?

我刚刚再次尝试了其他 WSDL 之一,它生成了“普通”非双工客户端。 WSDL 中是否指定了仅强制双工客户端的内容?

【问题讨论】:

    标签: wcf service-reference


    【解决方案1】:

    WSDL 仅使用输出元素定义了几种操作中的一种。当我删除此操作并重新生成代理时,它按预期创建了一个非双工客户端。幸运的是,我们不需要“blahNbrChg”操作。

      <wsdl:portType name="BlahPortType">
    <wsdl:operation name="blahNbrChg">
      <wsdl:output message="tns:blahNbrChgSoapOut"/>
      <wsdl:fault name="fault" message="tns:soapFault"/>
    </wsdl:operation>
    <wsdl:operation name="xxxControl">
      <wsdl:input message="tns:xxxControlSoapIn"/>
      <wsdl:output message="tns:xxxControlSoapOut"/>
      <wsdl:fault name="fault" message="tns:soapFault"/>
    </wsdl:operation>
    

    【讨论】:

      猜你喜欢
      • 2011-05-10
      • 2011-03-01
      • 1970-01-01
      • 2012-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-22
      相关资源
      最近更新 更多