我正在使用第三方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>
答案 0 :(得分:3)
您将serviceBehaviors
分配给WCF服务器端点,而不是客户端端点。如果需要更改,您必须请求第三方WCF服务主机添加您寻找的服务行为。
答案 1 :(得分:1)
看起来您正在显示的配置是您的客户端配置。这只是表明你将如何与服务进行通信。它不会告诉服务有关您的客户的任何信息。
请记住,服务不了解客户端,客户对服务的唯一了解是通过元数据交换。
除非服务提供了一些方法(不是通过任何.Net或WCF机制),否则您的客户端无法指定服务的行为方式,也不应该指定。给定服务可以处理来自许多不同客户的请求,每个客户都有自己的愿望。处理这种情况没有好办法。