Frage

Ich verbrauche einen WCF -Dienst von Drittanbietern und seine Konfiguration ist unten (unten (ein Teil davon). Ich wollte zuweisen serviceBehaviors Endpunkt, aber es gibt keine <service> Tag hier. Wie weisen Sie in diesem Fall 'ServiceBehaviors' zu?

<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>
War es hilfreich?

Lösung

Sie weisen zu serviceBehaviors zu WCF Server -Endpunkten, nicht an Client -Endpunkte. Sie müssten den WCF -Service -Host von Drittanbietern anfordern, das Sie suchen, wenn Sie sie ändern müssen.

Andere Tipps

Es sieht so aus, als ob die Konfiguration, die Sie anzeigen, Ihre clientseitige Konfiguration ist. Das zeigt nur an, wie Sie mit dem Service kommunizieren werden. Es sagt dem Service nichts über Ihren Kunden aus.

Denken Sie daran, dass der Service keine Kenntnis des Kunden hat und das einzige Wissen, das der Kunde über den Dienst hat, über Metadatenaustausch ist.

Sofern der Dienst nicht eine Methode dafür bietet (nicht über einen .NET- oder WCF -Mechanismus), kann Ihr Kunde nicht angeben, wie sich der Dienst verhalten sollte, und dies auch nicht. Ein bestimmter Service kann Anfragen vieler verschiedener Kunden mit jeweils ihren eigenen Wünschen bearbeiten. Es gibt einfach keinen guten Weg, um mit dieser Situation umzugehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top