ServiceDebugBehavior.IncludeExceptionDetailInFaults Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta un valore che specifica se includere informazioni sulle eccezioni gestite nei dettagli sugli errori SOAP restituiti al client a scopo di debug.
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
Valore della proprietà
true
se Windows Communication Foundation (WCF) restituisce informazioni sulle eccezioni gestite negli errori SOAP a scopo di debug client; in caso contrario, false
. Il valore predefinito è false
.
Esempio
Nell'esempio di codice seguente viene illustrato come utilizzare un file di configurazione per l'abilitazione della funzionalità delle pagine della Guida HTML e la restituzione al client di informazioni sulle eccezioni contenute in un errore SOAP a fini di debug. In questo file di configurazione vengono illustrati i seguenti passaggi di base che consentono l'aggiunta del supporto per le funzionalità di ServiceDebugBehavior:
Poiché il ServiceDebugBehavior tipo è un'implementazione System.ServiceModel.Description.IServiceBehavior , l'elemento <del servizio> che rappresenta il tipo di servizio ha un identificatore di configurazione del comportamento di
behaviorConfiguration="metadataAndDebug"
.Anche in questo caso, poiché il ServiceDebugBehavior tipo è un System.ServiceModel.Description.IServiceBehavior elemento di comportamento<> viene aggiunto a una <sezione serviceBehaviors>. Impostare l'attributo dell'elemento
name
<behavior> il cui valore è l'identificatore dell'attributobehaviorConfiguration
dell'elemento <del servizio> . In questo caso il valore èmetadataAndDebug
.Aggiungere un <elemento serviceDebug> con i vari attributi impostati sulla configurazione desiderata. In questo caso i valori
httpHelpPageEnabled
eincludeExceptionDetailInFaults
degli attributi sono impostati sutrue
.
<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>
Commenti
Impostare la IncludeExceptionDetailInFaults proprietà su true
per indicare a WCF di restituire informazioni sulle eccezioni gestite al client in errori SOAP per semplificare il debug.
Attenzione
La restituzione ai client delle informazioni sulle eccezioni gestite può rappresentare un rischio per la sicurezza, poiché i dettagli delle eccezioni espongono informazioni sull'implementazione del servizio interno che potrebbero essere usate da client non autorizzati. Inoltre, sebbene le proprietà ServiceDebugBehavior possono essere impostate anche a livello di programmazione, può essere facile dimenticare di disattivare IncludeExceptionDetailInFaults quando si esegue la distribuzione.
A causa dei problemi di sicurezza coinvolti, è consigliato:
Usare un file di configurazione dell'applicazione per impostare il valore della proprietà IncludeExceptionDetailInFaults su
true
.Si procede in questo modo solo negli scenari di debug controllati.
Per altre informazioni, vedere Specifica e gestione degli errori in Contratti e servizi.