ServiceDebugBehavior Classe
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.
Abilita le funzionalità di debug e informazioni della Guida per un servizio Windows Communication Foundation (WCF).
public ref class ServiceDebugBehavior : System::ServiceModel::Description::IServiceBehavior
public class ServiceDebugBehavior : System.ServiceModel.Description.IServiceBehavior
type ServiceDebugBehavior = class
interface IServiceBehavior
Public Class ServiceDebugBehavior
Implements IServiceBehavior
- Ereditarietà
-
ServiceDebugBehavior
- Implementazioni
Esempio
Nell'esempio di codice seguente viene illustrato come usare un file di configurazione per abilitare la funzionalità della pagina della Guida HTML e restituire le informazioni sulle eccezioni all'interno di un errore SOAP al client a scopo di debug, oltre ad abilitare il supporto dei metadati. Questo file di configurazione illustra i passaggi di base seguenti per aggiungere il supporto per le ServiceDebugBehavior funzionalità:
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".Poiché il ServiceDebugBehavior tipo è un'implementazione di System.ServiceModel.Description.IServiceBehavior un <elemento di comportamento> viene aggiunto a una <sezione serviceBehaviors> . Impostare l'attributo dell'elemento
name<di comportamento> il cui valore è l'identificatore dell'attributo dell'elementobehaviorConfiguration<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 dell'attributo
httpHelpPageEnabledeincludeExceptionDetailInFaultsvengono 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
Utilizzare le ServiceDebugBehavior proprietà di un file di configurazione o a livello di codice per abilitare il flusso di informazioni sulle eccezioni gestite al client a scopo di debug, nonché la pubblicazione di file di informazioni HTML per gli utenti che esplorano il servizio nei Web browser.
Impostare la IncludeExceptionDetailInFaults proprietà su true per indicare a WCF di restituire informazioni sulle eccezioni gestite negli errori SOAP ai client a scopo di debug.
Attenzione
La restituzione di informazioni sulle eccezioni gestite ai client può essere un rischio per la sicurezza perché i dettagli delle eccezioni espongono informazioni sull'implementazione del servizio interno che potrebbero essere usate da client non autorizzati. Inoltre, anche se le ServiceDebugBehavior proprietà possono essere impostate anche programmaticamente, può essere facile dimenticare di disabilitare IncludeExceptionDetailInFaults durante la distribuzione.
A causa dei problemi di sicurezza coinvolti, è consigliabile:
Usare un file di configurazione dell'applicazione per impostare il valore della IncludeExceptionDetailInFaults proprietà su
true.Questa operazione viene eseguita solo in scenari di debug controllati.
Per altre informazioni sui problemi di sicurezza relativi alle informazioni sulle eccezioni gestite, vedere Impostazione e gestione degli errori in Contratti e servizi.
Le HttpHelpPageEnabled proprietà e HttpsHelpPageEnabled indicano al servizio di pubblicare file della Guida HTML quando il servizio viene visualizzato usando un browser HTML.
Le HttpHelpPageUrl proprietà e HttpsHelpPageUrl controllano la posizione della pagina della Guida HTML visualizzata.
Per abilitare o disabilitare una delle funzionalità usando un file di ServiceDebugBehavior configurazione:
Aggiungere un
behaviorConfigurationattributo all'elemento <del servizio> per il servizio WCF. I comportamenti degli endpoint vengono configurati sugli <elementi dell'endpoint> ; i comportamenti del servizio sugli <elementi del servizio> .Aggiungere o creare una <sezione serviceBehaviors> e aggiungere un <elemento di comportamento> a tale elemento con il nome che corrisponde al valore dell'attributo del
behaviorConfigurationpassaggio 1. I comportamenti degli endpoint vengono configurati usando un <elemento endpointBehaviors> . I comportamenti del servizio vengono configurati usando un <elemento serviceBehaviors> .Aggiungere un <elemento serviceDebug> all'elemento <di comportamento> del passaggio 2 e abilitare o disabilitare le varie proprietà appropriate per lo scenario.
Per un esempio specifico, vedere la sezione Esempio.
Costruttori
| Nome | Descrizione |
|---|---|
| ServiceDebugBehavior() |
Inizializza una nuova istanza della classe ServiceDebugBehavior. |
Proprietà
| Nome | Descrizione |
|---|---|
| HttpHelpPageBinding |
Ottiene o imposta l'accesso di alto livello alla definizione di un'associazione. |
| HttpHelpPageEnabled |
Ottiene o imposta un valore che controlla se Windows Communication Foundation (WCF) pubblica una pagina della Guida HTML nell'indirizzo controllato dalla HttpHelpPageUrl proprietà . |
| HttpHelpPageUrl |
Ottiene o imposta il percorso in cui viene pubblicato il file della Guida HTML. |
| HttpsHelpPageBinding |
Ottiene o imposta l'accesso di alto livello alla definizione di un'associazione. |
| HttpsHelpPageEnabled |
Ottiene o imposta un valore che specifica se Windows Communication Foundation (WCF) restituisce un file della Guida HTML su HTTPS all'indirizzo controllato dalla HttpsHelpPageUrl proprietà . |
| HttpsHelpPageUrl |
Ottiene o imposta il percorso in cui viene pubblicato un file HTML per il recupero tramite HTTPS. |
| IncludeExceptionDetailInFaults |
Ottiene o imposta un valore che specifica se includere informazioni sulle eccezioni gestite nei dettagli degli errori SOAP restituiti al client a scopo di debug. |
Metodi
| Nome | Descrizione |
|---|---|
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Implementa il AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) metodo per supportare il comportamento. |
| IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Implementa il ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) metodo per supportare il comportamento. |
| IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Implementa il Validate(ServiceDescription, ServiceHostBase) metodo per supportare il comportamento. |