CallbackDebugBehavior.IncludeExceptionDetailInFaults Eigenschaft

Definition

Ruft einen Wert ab oder legt einen Wert fest, der steuert, ob Client-Rückrufobjekte verwaltete Ausnahmeinformationen in SOAP-Fehlern zurück an den Dienst geben.

public:
 property bool IncludeExceptionDetailInFaults { bool get(); void set(bool value); };
public bool IncludeExceptionDetailInFaults { get; set; }
member this.IncludeExceptionDetailInFaults : bool with get, set
Public Property IncludeExceptionDetailInFaults As Boolean

Eigenschaftswert

true , wenn WCF für Dienstdebuggingzwecke in der Duplexkommunikation Informationen zu verwalteten Clientrückrufen in den SOAP-Fehlern zurückgibt; falseandernfalls . Der Standardwert ist false.

Beispiele

Das folgende Codebeispiel zeigt eine Clientkonfigurationsdatei, die WCF anweist, verwaltete Ausnahmeinformationen aus einem Clientrückrufobjekt in SOAP-Nachrichten zurückzugeben.

  <client>
      <endpoint 
        address="http://localhost:8080/DuplexHello" 
        binding="wsDualHttpBinding"
        bindingConfiguration="WSDualHttpBinding_SampleDuplexHello"
        contract="SampleDuplexHello" 
        name="WSDualHttpBinding_SampleDuplexHello"
        behaviorConfiguration="enableCallbackDebug">
      </endpoint>
  </client>
<behaviors>
  <endpointBehaviors>
    <behavior name="enableCallbackDebug">
      <callbackDebug includeExceptionDetailInFaults="true"/>
    </behavior>
  </endpointBehaviors>
</behaviors>

Hinweise

Legen Sie die IncludeExceptionDetailInFaults-Eigenschaft über eine Anwendungskonfigurationsdatei oder programmgesteuert auf true fest, um den Fluss verwalteter Ausnahmeinformationen in einem Client-Rückrufobjekt zurück zum Dienst für Debuggingzwecke zu aktivieren.

Achtung

Verwaltete Ausnahmeinformationen an Dienste zurückzugeben kann ein Sicherheitsrisiko darstellen, da Ausnahmedetails Informationen zur internen Clientimplementierung offen legen, die von nicht autorisierten Diensten verwendet werden können. Außerdem wird, obwohl die CallbackDebugBehavior-Eigenschaften auch programmgesteuert festgelegt werden können, bei der Bereitstellung das Deaktivieren von IncludeExceptionDetailInFaults schnell vergessen.

Wegen der damit verbundenen Sicherheitsprobleme wird Folgendes dringend empfohlen:

  • Verwenden Sie eine Anwendungskonfigurationsdatei, um den Wert der IncludeExceptionDetailInFaults-Eigenschaft auf true festzulegen.

  • Führen Sie diesen Vorgang nur in gesteuerten Debugszenarien aus.

Weitere Informationen zu Sicherheitsproblemen im Zusammenhang mit Informationen zu verwalteten Ausnahmen finden Sie unter Angeben und Behandeln von Fehlern in Verträgen und Diensten.

So aktivieren oder deaktivieren Sie eine Funktion von CallbackDebugBehavior mithilfe einer Konfigurationsdatei

  1. Fügen Sie dem Clientendpunktelement<> für Ihre WCF-Clientanwendung ein Attribut hinzubehaviorConfiguration. Das CallbackDebugBehavior-Verhalten ist ein Endpunktverhalten. Endpunktverhalten wird für <endpoint> Elemente konfiguriert. Dienstverhalten wird für <Dienstelemente> konfiguriert.

  2. Fügen Sie einen <endpointBehaviors-Abschnitt> hinzu, oder erstellen Sie diesen, und fügen Sie dem <ein Behavior-Element> mit dem Namen hinzu, der dem behaviorConfiguration Attributwert aus Schritt 1 entspricht. Endpunktverhalten wird für die Verwendung in einem Clientendpunktelement<> mithilfe eines <endpointBehaviors-Elements> hinzugefügt.

  3. Fügen Sie dem <behavior-Element> aus Schritt 2 ein <callbackDebug-Element> hinzu, und aktivieren oder deaktivieren Sie die verschiedenen Eigenschaften, die für Ihr Szenario geeignet sind.

Ein Beispiel hierfür finden Sie im Beispielabschnitt. Sie können die Werte dieses Attributs auch mithilfe des <callbackDebug-Elements> in einer Clientanwendungskonfigurationsdatei festlegen.

Gilt für: