Comportamiento de depuración de servicio
Este ejemplo muestra cómo se pueden configurar los valores del comportamiento de servicio de depuración. El ejemplo se basa en Ejemplo de introducción que implementa el contrato de servicio ICalculator
. Este ejemplo define explícitamente el comportamiento de depuración de servicio en el archivo de configuración. También se puede hacer de forma imperiosa en el código.
En este ejemplo, el cliente es una aplicación de consola (.exe) y los Servicios de Internet Information Server (IIS) hospedan el servicio.
Nota
Las instrucciones de compilación y el procedimiento de instalación de este ejemplo se encuentran al final de este tema.
El archivo Web.config para el servidor define el comportamiento de depuración del servicio para habilitar como se muestra la página de ayuda y control de excepciones en el ejemplo siguiente.
<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 es el elemento de configuración que permite cambiar las propiedades del comportamiento de depuración del servicio. El usuario puede modificar este comportamiento para lograr lo siguiente:
Permite al servicio devolver cualquier excepción producida por el código de aplicación aun cuando la excepción no se declare mediante FaultContractAttribute. Se ha hecho configurando includeExceptionDetailInFaults como true. Este valor es útil al depurar los casos donde el servidor produce una excepción inesperada.
Nota
No es seguro para activar este valor en un entorno de producción. Una excepción de servidor inesperada puede tener alguna información que no se piensa para el cliente y establecer así includeExceptionDetailsInFaults como true podría producir pérdida de la información.
serviceDebug también le permite a un usuario habilitar o deshabilitar la página de ayuda. Cada servicio puede exponer opcionalmente una página de ayuda que contiene información sobre el servicio que incluye el extremo para obtener WSDL para el servicio. Esto puede estar habilitado estableciendo httpHelpPageEnabled como true. Esto permite devolver la página de ayuda a una solicitud GET en la dirección base del servicio. Puede cambiar esta dirección estableciendo otro atributo httpHelpPageUrl. Puede realizarlo de manera segura utilizando HTTPS en lugar de HTTP. Esto se puede hacer estableciendo httpsHelpPageEnabled y httpsHelpPageUrl.
Al ejecutar el ejemplo, las solicitudes y respuestas de la operación se muestran en la ventana de la consola del cliente. Las primeras tres operaciones (Sumar, Restar y Multiplicar) deben ejecutarse exitosamente. Los últimos errores de la operación ("dividir") con una excepción de división entre cero.
Para configurar, generar y ejecutar el ejemplo
Asegúrese de que ha realizado Procedimiento de instalación único para ejemplos de Windows Communication Foundation.
Para generar el código C# o Visual Basic .NET Edition de la solución, siga las instrucciones de Generación de ejemplos de Windows Communication Foundation.
Para ejecutar el ejemplo en una configuración de equipos única o cruzada, siga las instrucciones de Ejecución de ejemplos de Windows Communication Foundation.
Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.