CallbackDebugBehavior.IncludeExceptionDetailInFaults Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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; false
andernfalls . 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
Fügen Sie dem Clientendpunktelement<> für Ihre WCF-Clientanwendung ein Attribut hinzu
behaviorConfiguration
. Das CallbackDebugBehavior-Verhalten ist ein Endpunktverhalten. Endpunktverhalten wird für<endpoint>
Elemente konfiguriert. Dienstverhalten wird für <Dienstelemente> konfiguriert.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.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.