<debugServizio>

Specifica le funzionalità di debug e guida per un servizio Windows Communication Foundation (WCF).

<Configurazione>
  <system.serviceModel>
    <Comportamenti>
      <Servicebehaviors>
        <Comportamento>
          <serviceDebug>

Sintassi

<serviceDebug httpHelpPageBinding="String"
              httpHelpPageBindingConfiguration="String"
              httpHelpPageEnabled="Boolean"
              httpHelpPageUrl="Uri"
              httpsHelpPageBinding="String"
              httpsHelpPageBindingConfiguration="String"
              httpsHelpPageEnabled="Boolean"
              httpsHelpPageUrl="Uri"
              includeExceptionDetailInFaults="Boolean" />

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo Descrizione
httpHelpPageBinding Valore stringa che specifica il tipo di associazione da usare quando HTTP viene usato per accedere alla pagina della Guida del servizio.

Verranno supportate sole le associazioni con elementi di associazione interni che supportano System.ServiceModel.Channels.IReplyChannel. La proprietà System.ServiceModel.Channels.MessageVersion dell'associazione deve inoltre essere MessageVersion.None.
httpHelpPageBindingConfiguration Stringa che specifica il nome dell'associazione specificata nell'attributo httpHelpPageBinding che fa riferimento alle informazioni di configurazione aggiuntive di questa associazione. Lo stesso nome deve essere definito nella sezione <bindings>.
httpHelpPageEnabled Valore booleano che controlla se WCF pubblica una pagina della Guida HTML all'indirizzo specificato dall'attributo httpHelpPageUrl . Il valore predefinito è true.

È possibile impostare questa proprietà su false per disabilitare la pubblicazione di una pagina della Guida HTML visibile ai browser HTML.

Per garantire che la pagina della Guida HTML sia pubblicata nel percorso controllato dall'attributo httpHelpPageUrl, è necessario impostare questo attributo su true. Deve inoltre venire soddisfatta anche una delle condizioni seguenti:

- L'attributo httpHelpPageUrl è un indirizzo assoluto che supporta lo schema del protocollo HTTP.
- È disponibile un indirizzo di base per il servizio che supporta lo schema del protocollo HTTP.

Sebbene venga generata un'eccezione quando all'attributo httpHelpPageUrl viene assegnato un indirizzo assoluto che non supporta lo schema del protocollo HTTP, qualsiasi altro scenario nel quale non viene soddisfatto alcuno dei criteri precedenti comporta il fatto che non venga generata alcuna eccezione e che non sia disponibile alcuna pagina della Guida HTML.
httpHelpPageUrl URI che specifica l'URL relativo o assoluto basato su HTTPS del file della Guida HTML personalizzato che l'utente vede quando l'endpoint viene visualizzato tramite un browser HTML.

È possibile usare questo attributo per consentire l'uso di un file della Guida HTML personalizzato restituito da una richiesta HTTP/Get, ad esempio, da un browser HTML. Il percorso del file della Guida HTML viene risolto come segue.

1. Se il valore di questo attributo è un indirizzo relativo, il percorso del file della Guida HTML è il valore dell'indirizzo di base del servizio che supporta le richieste HTTP, oltre a questo valore di proprietà.
2. Se il valore di questo attributo è un indirizzo assoluto e supporta le richieste HTTP, il percorso del file della Guida HTML è il valore di questa proprietà.
3. Se il valore di questo attributo è assoluto ma non supporta le richieste HTTP, viene generata un'eccezione.

Questo attributo è valido solo quando l'attributo httpHelpPageEnabled è true.
httpsHelpPageBinding Valore stringa che specifica il tipo di associazione da usare quando HTTPS viene usato per accedere alla pagina della Guida del servizio.

Verranno supportate sole le associazioni con elementi di associazione interni che supportano IReplyChannel. La proprietà System.ServiceModel.Channels.MessageVersion dell'associazione deve inoltre essere MessageVersion.None.
httpsHelpPageBindingConfiguration Stringa che specifica il nome dell'associazione specificata nell'attributo httpsHelpPageBinding che fa riferimento alle informazioni di configurazione aggiuntive di questa associazione. Lo stesso nome deve essere definito nella sezione <bindings>.
httpsHelpPageEnabled Valore booleano che controlla se WCF pubblica una pagina della Guida HTML all'indirizzo specificato dall'attributo httpsHelpPageUrl . Il valore predefinito è true.

È possibile impostare questa proprietà su false per disabilitare la pubblicazione di una pagina della Guida HTML visibile ai browser HTML.

Per garantire che la pagina della Guida HTML sia pubblicata nel percorso controllato dall'attributo httpsHelpPageUrl, è necessario impostare questo attributo su true. Deve inoltre venire soddisfatta anche una delle condizioni seguenti:

- L'attributo httpsHelpPageUrl è un indirizzo assoluto che supporta lo schema del protocollo HTTPS.
- È disponibile un indirizzo di base per il servizio che supporta lo schema del protocollo HTTPS.

Sebbene venga generata un'eccezione quando all'attributo httpsHelpPageUrl viene assegnato un indirizzo assoluto che non supporta lo schema del protocollo HTTPS, qualsiasi altro scenario nel quale non viene soddisfatto alcuno dei criteri precedenti comporta il fatto che non venga generata alcuna eccezione e non sia disponibile alcuna pagina della Guida HTML.
httpsHelpPageUrl URI che specifica l'URL relativo o assoluto basato su HTTP del file della Guida HTML personalizzato che l'utente vede quando l'endpoint viene visualizzato tramite un browser HTML.

È possibile usare questo attributo per consentire l'uso di un file della Guida HTML personalizzato restituito da una richiesta HTTPS/Get, ad esempio, da un browser HTML. Il percorso del file della Guida HTML viene risolto come segue.

- Se il valore di questa proprietà è un indirizzo relativo, il percorso del file della Guida HTML è il valore dell'indirizzo di base del servizio che supporta le richieste HTTPS, oltre a questo valore di proprietà.
- Se il valore di questa proprietà è un indirizzo assoluto e supporta le richieste HTTPS, il percorso del file della Guida HTML è il valore di questa proprietà.
- Se il valore di questa proprietà è assoluto ma non supporta le richieste HTTPS, viene generata un'eccezione.

Questo attributo è valido solo quando l'attributo httpHelpPageEnabled è true.
includeExceptionDetailInFaults Valore che specifica se includere informazioni sulle eccezioni gestite nei dettagli sugli errori SOAP restituiti al client a scopo di debug. Il valore predefinito è false.

Se si imposta l'attributo su true, è possibile abilitare il flusso di informazioni sulle eccezioni gestite al client a fini di debug, nonché la pubblicazione di file di informazioni HTML per gli utenti che accedono al servizio tramite un browser Web. Attenzione: La restituzione di informazioni sulle eccezioni gestite ai client può essere un rischio di sicurezza. Questo perché i dettagli delle eccezioni espongono informazioni sull'implementazione interna del servizio che potrebbero venire usate da client non autorizzati.

Elementi figlio

Nessuno.

Elementi padre

Elemento Descrizione
<Comportamento> Specifica un elemento di comportamento.

Commenti

L'impostazione includeExceptionDetailInFaults per true consentire al servizio di restituire qualsiasi eccezione generata dal codice dell'applicazione anche se l'eccezione non viene dichiarata usando FaultContractAttribute. Questa impostazione è utile in caso dell'esecuzione il debug di casi dove il server sta generando un'eccezione imprevista. L'utilizzo di questo attributo consente la restituzione di un modulo serializzato dell'eccezione sconosciuta e offre all'utente la possibilità di esaminare l'eccezione in dettaglio.

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. A causa dei problemi di sicurezza associati, è consigliabile procedere in tal modo solo negli scenari di debug controllati. Durante la distribuzione dell'applicazione, è necessario impostare includeExceptionDetailInFaults su false.

Per informazioni dettagliate sui problemi di sicurezza correlati all'eccezione gestita, vedere Specificare e gestire gli errori in Contratti e servizi. Per un esempio di codice, vedere Comportamento debug del servizio.

Per abilitare o disabilitare la pagina della Guida, è inoltre possibile impostare httpsHelpPageEnabled e httpsHelpPageUrl. Ogni servizio può esporre facoltativamente una pagina della Guida che contiene informazioni sul servizio incluso l'endpoint ottenere WSDL per il servizio. A tale fine, impostare httpHelpPageEnabled su true. Consente di restituire la pagina della Guida a una richiesta GET all'indirizzo di base del servizio. È possibile modificare questo indirizzo impostando l'attributo httpHelpPageUrl. È inoltre possibile rendere l'operazione protetta usando HTTPS anziché HTTP.

Gli attributi httpHelpPageBinding e httpHelpPageBinding facoltativi consentono di configurare le associazioni usate per accedere alla pagina Web del servizio. Se non vengono specificati, per l'accesso alla pagina della Guida del servizio verranno usate le associazioni predefinite (HttpTransportBindingElement per HTTP e HttpsTransportBindingElement per HTTPS) a seconda dei casi. Si noti che non è possibile usare questi attributi con le associazioni WCF incorporate. Saranno supportati solo associazioni con elementi di associazione interna che supportano xref:System.ServiceModel.Channels.IReplyChannel> . La proprietà System.ServiceModel.Channels.MessageVersion dell'associazione deve inoltre essere MessageVersion.None.

Vedi anche