2

我正在使用第三方 WCF 服务,它的配置在下面(它的一部分)。我想分配serviceBehaviors给端点,但这里没有<service>标签。在这种情况下,您如何分配“serviceBehaviors”?

<client>
  <endpoint address="https://something/someservice.asmx" binding="customBinding" bindingConfiguration="ABCBinding" contract="Democlient.Soap" name="Soap" behaviorConfiguration="SoapEndpointB" />
</client>
<behaviors>
  <endpointBehaviors>
    <behavior name="SoapEndpointB">
      <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
    </behavior>
  </endpointBehaviors>
  <serviceBehaviors>
    <behavior name="SoapServiceB">
      <dataContractSerializer maxItemsInObjectGraph="2147483647" />
      <serviceMetadata httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>
4

2 回答 2

3

您分配serviceBehaviors给 WCF 服务器端点,而不是客户端端点。如果需要更改,您必须请求第 3 方 WCF 服务主机添加您寻求的服务行为。

于 2011-12-01T22:45:44.820 回答
1

看起来您显示的配置是您的客户端配置。这只是表明您将如何与服务进行通信。它不会告诉服务有关您的客户的任何信息。

请记住,服务不了解客户端,而客户端对服务的唯一了解是通过元数据交换。

除非服务提供了一些这样做的方法(不是通过任何 .Net 或 WCF 机制),否则您的客户端无法指定服务应该如何运行,也不应该指定。给定的服务可能正在处理来自许多不同客户的请求,每个客户都有自己的愿望。只是没有很好的方法来处理这种情况。

于 2011-12-01T23:07:50.800 回答