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 サーバー エンドポイントに割り当てます。変更が必要な場合は、サード パーティの WCF サービス ホストに、必要なサービス動作を追加するように要求する必要があります。

于 2011-12-01T22:45:44.820 に答える
1

表示されている構成は、クライアント側の構成のようです。これは、サービスと通信する方法を示しているだけです。クライアントについてサービスに何も伝えません。

サービスにはクライアントの知識がなく、クライアントがサービスについて持っている唯一の知識はメタデータ交換によるものであることに注意してください。

サービスが (.Net または WCF メカニズムを介してではなく) そのための何らかの方法を提供しない限り、クライアントはサービスの動作方法を指定することも、指定することもできません。特定のサービスが、それぞれが独自の要求を持つさまざまなクライアントからの要求を処理している場合があります。そのような状況を処理する良い方法はありません。

于 2011-12-01T23:07:50.800 に答える