Comportamento di debug del servizioService Debug Behavior

In questo esempio viene illustrato come configurare le impostazioni del comportamento di debug.This sample demonstrates how service debug behavior settings can be configured. L'esempio è basato sul Introduzione, che implementa il ICalculator contratto di servizio.The sample is based on the Getting Started, which implements the ICalculator service contract. Questo esempio definisce in modo esplicito il comportamento di debug del servizio nel file di configurazione.This sample explicitly defines service debug behavior in the configuration file. Questa operazione può essere eseguita anche nel codice in modo imperativo.It can also be done imperatively in code.

In questo esempio, il client è un'applicazione console (.exe) e il servizio è ospitato da Internet Information Services (IIS).In this sample, the client is a console application (.exe) and the service is hosted by Internet Information Services (IIS).

Nota

La procedura di installazione e le istruzioni di compilazione per questo esempio si trovano alla fine di questo argomento.The setup procedure and build instructions for this sample are located at the end of this topic.

Il file Web.config per il server definisce il comportamento di debug del servizio per attivare la pagina della Guida e la gestione delle eccezioni come illustrato nell'esempio seguente.The Web.config file for the server defines the service debug behavior to enable the help page and exception handling as shown in the following sample.

<behaviors>  
     <serviceBehaviors>  
         <behavior name="CalculatorServiceBehavior">  
         <!-- WARNING: Setting includeExceptionDetailInFaults = "True" could result in leaking secured server information to the client.-->  
         <!-- Please set this to false when deploying -->  
             <serviceDebug includeExceptionDetailInFaults="True" httpHelpPageEnabled="True"/>  
         </behavior>  
     </serviceBehaviors>  
</behaviors>  

<serviceDebug > è l'elemento di configurazione che consente di modificare le proprietà del comportamento di debug del servizio.<serviceDebug> is the configuration element that allows changing the service debug behavior properties. L'utente può modificare questo comportamento per raggiungere i seguenti obiettivi:The user can modify this behavior to achieve the following:

  • Questo consente al servizio di restituire qualsiasi eccezione che viene generata dal codice dell'applicazione anche se l'eccezione non è dichiarata mediante FaultContractAttribute.This allows the service to return any exception that is thrown by the application code even if the exception is not declared using the FaultContractAttribute. Per eseguire questa operazione si imposta includeExceptionDetailInFaults su true.It is done by setting includeExceptionDetailInFaults to true. Questa impostazione è utile in caso dell'esecuzione il debug di casi dove il server sta generando un'eccezione imprevista.This setting is useful when debugging cases where the server is throwing an unexpected exception.

    Importante

    Attivare questa impostazione in un ambiente di produzione può comportare dei rischi.It is not secure to turn this setting on in a production environment. Un'eccezione del server imprevista può avere alcune informazioni che non sono destinate al client, quindi impostare includeExceptionDetailsInFaults su true potrebbe comportare una perdita di informazioni.An unexpected server exception may have some information that is not intended for the client and so setting includeExceptionDetailsInFaults to true might result in an information leak.

  • Il <serviceDebug > consente inoltre a un utente abilitare o disabilitare la pagina della Guida.The <serviceDebug> also allows a user to enable or disable the help page. Ogni servizio può esporre facoltativamente una pagina della Guida che contiene informazioni sul servizio incluso l'endpoint ottenere WSDL per il servizio.Each service can optionally expose a help page that contains information about the service including the endpoint to get WSDL for the service. A tale fine, impostare httpHelpPageEnabled su true.This can be enabled by setting httpHelpPageEnabled to true. Consente di restituire la pagina della Guida a una richiesta GET all'indirizzo di base del servizio.This enables the help page to be returned to a GET request to the base address of the service. È possibile modificare questo indirizzo impostando un altro attributo httpHelpPageUrl.You can change this address by setting another attribute httpHelpPageUrl. L'operazione può essere protetta utilizzando HTTPS anziché HTTP.You can make this secure by using HTTPS instead of HTTP. A tale fine, impostare httpsHelpPageEnabled e httpsHelpPageUrl.This can be done by setting httpsHelpPageEnabled and httpsHelpPageUrl.

Quando si esegue l'esempio, le richieste e le risposte dell'operazione vengono visualizzate nella finestra della console client.When you run the sample, the operation requests and responses are displayed in the client console window. Le prime tre operazioni (di addizione, sottrazione e moltiplicazione) devono essere completate.The first three operations (Add, Subtract and Multiply) must succeed. L'ultima operazione (di divisione) ha esito negativo con un'eccezione di divisione per zero.The last operation ("divide") fails with a division by zero exception.

Per impostare, compilare ed eseguire l'esempioTo set up, build, and run the sample

  1. Assicurarsi di avere eseguito la procedura di installazione singola per gli esempi di Windows Communication Foundation.Ensure that you have performed the One-Time Setup Procedure for the Windows Communication Foundation Samples.

  2. Per compilare l'edizione in C# o Visual Basic .NET della soluzione, seguire le istruzioni in Building the Windows Communication Foundation Samples.To build the C# or Visual Basic .NET edition of the solution, follow the instructions in Building the Windows Communication Foundation Samples.

  3. Per eseguire l'esempio in una configurazione singola o tra computer, seguire le istruzioni in esegue gli esempi di Windows Communication Foundation.To run the sample in a single- or cross-machine configuration, follow the instructions in Running the Windows Communication Foundation Samples.

Importante

È possibile che gli esempi siano già installati nel computer.The samples may already be installed on your machine. Verificare la directory seguente (impostazione predefinita) prima di continuare.Check for the following (default) directory before continuing.

<InstallDrive>:\WF_WCF_Samples

Se questa directory non esiste, andare al Windows Communication Foundation (WCF) e gli esempi di Windows Workflow Foundation (WF) per .NET Framework 4 per scaricare tutti i Windows Communication Foundation (WCF) e WFWF esempi.If this directory does not exist, go to Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 to download all Windows Communication Foundation (WCF) and WFWF samples. Questo esempio si trova nella directory seguente.This sample is located in the following directory.

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Services\Behaviors\ServiceDebug

Vedere ancheSee Also