ServiceDebugBehavior.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 angibt, ob verwaltete Ausnahmeinformationen in Details der SOAP-Fehler für Debugzwecke an den Client zurückgegeben werden.
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 Windows Communication Foundation (WCF) verwaltete Ausnahmeinformationen in den SOAP-Fehlern für Clientdebuggings zurückgibt; andernfalls false
. Der Standardwert ist false
.
Beispiele
Das folgende Codebeispiel zeigt, wie eine Konfigurationsdatei verwendet wird, um die HTML-Hilfeseitenfunktion zu aktivieren und Ausnahmeinformationen innerhalb eines SOAP-Fehlers für Debugzwecke an den Client zurückzugeben. Diese Konfigurationsdatei veranschaulicht die folgenden grundlegenden Schritte zum Hinzufügen der Unterstützung für die ServiceDebugBehavior-Features:
Da der Typ eine System.ServiceModel.Description.IServiceBehavior Implementierung ist, weist das ServiceDebugBehavior <Dienstelement>, das den Diensttyp darstellt, einen Verhaltenskonfigurationsbezeichner von
behaviorConfiguration="metadataAndDebug"
.Da der ServiceDebugBehavior Typ eine System.ServiceModel.Description.IServiceBehavior Implementierung <ist, wird ein Verhaltenelement> zu einem <DienstBehaviors-Abschnitt> hinzugefügt. Legen Sie das
name
Attribut des <Verhaltenselements> fest, dessen Wert der Bezeichner desbehaviorConfiguration
Attributs des< Dienstelements> ist. In diesem Fall handelt es sich um den WertmetadataAndDebug
.Fügen Sie ein <ServiceDebug-Element> mit den verschiedenen Attributen hinzu, die auf die gewünschte Konfiguration festgelegt sind. In diesem Fall werden die
httpHelpPageEnabled
- undincludeExceptionDetailInFaults
-Attributwerte auftrue
festgelegt.
<configuration>
<system.serviceModel>
<services>
<!--
Step 1. Add a behaviorConfiguration attribute
in the <service> element.
-->
<service
name="Microsoft.WCF.Documentation.SampleService"
behaviorConfiguration="metadataAndDebug">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/SampleService" />
</baseAddresses>
</host>
<endpoint
address=""
binding="wsHttpBinding"
contract="Microsoft.WCF.Documentation.ISampleService"
/>
<endpoint
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange"
/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<!--
Step 2. Inside a <serviceBehaviors> section, add
a name attribute in the <behaviors> element that
matches the behaviorConfiguration attribute in the
<service> element above.
-->
<behavior name="metadataAndDebug">
<serviceMetadata
httpGetEnabled="true"
httpGetUrl=""
/>
<!--
Step 3. Add a <serviceDebug> element and
modify the various attributes that suit your
scenario.
-->
<serviceDebug
httpHelpPageEnabled="true"
includeExceptionDetailInFaults="true"
/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Hinweise
Legen Sie die IncludeExceptionDetailInFaults Eigenschaft true
fest, um WCF anzuweisen, verwaltete Ausnahmeinformationen an den Client in SOAP-Fehlern zurückzugeben, um das Debuggen zu erleichtern.
Achtung
Verwaltete Ausnahmeinformationen an Clients zurückzugeben kann ein Sicherheitsrisiko darstellen, da Ausnahmedetails Informationen zur internen Dienstimplementierung verfügbar machen, die von nicht autorisierten Clients verwendet werden könnten. Außerdem wird, obwohl die ServiceDebugBehavior-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 finden Sie unter Angeben und Behandeln von Fehlern in Verträgen und Diensten.