Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El ejemplo ServiceDebug muestra cómo se pueden configurar los valores del comportamiento de depuración de servicio. La muestra se basa en Primeros pasos, 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 imperativamente 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:
El procedimiento de instalación y las instrucciones de compilació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 la página de ayuda y el control de excepciones, tal como se muestra 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 de comportamiento de depuración del servicio. El usuario puede modificar este comportamiento para lograr lo siguiente:
Esto permite al servicio devolver cualquier excepción producida por el código de aplicación aunque la excepción no se declare mediante FaultContractAttribute. Esta acción se realiza estableciendo
includeExceptionDetailInFaults
atrue
. Esta configuración es útil al depurar casos en los que el servidor produce una excepción inesperada.Importante
No es seguro activar esta configuración en un entorno de producción. Una excepción de servidor inesperada puede contener información que no está destinada al cliente, y por tanto, establecer
includeExceptionDetailsInFaults
atrue
podría dar lugar a una fuga de información.ServiceDebug<> también permite que un usuario habilite o deshabilite la página de ayuda. Cada servicio puede exponer opcionalmente una página de ayuda que contenga información sobre el servicio, incluido el punto de conexión para obtener WSDL para el servicio. Esto se puede habilitar estableciendo
httpHelpPageEnabled
entrue
. Esto permite que la página de ayuda se pueda devolver mediante una solicitud GET a la dirección base del servicio. Puede cambiar esta dirección estableciendo otro atributohttpHelpPageUrl
. Puede hacer que esto sea seguro mediante HTTPS en lugar de HTTP. Esto se puede hacer estableciendohttpsHelpPageEnabled
yhttpsHelpPageUrl
.
Al ejecutar el ejemplo, las solicitudes de operación y las respuestas se muestran en la ventana de la consola del cliente. Las tres primeras operaciones (Agregar, Restar y Multiplicar) deben realizarse correctamente. Los últimos errores de la operación ("dividir") con una excepción de división entre cero.
Para configurar, compilar y ejecutar el ejemplo
Asegúrese de que ha realizado el procedimiento de instalación única para los ejemplos de Windows Communication Foundation.
Para compilar el código C# o Visual Basic .NET Edition de la solución, siga las instrucciones de Building the Windows Communication Foundation Samples.
Para ejecutar el ejemplo en una configuración de una sola máquina o de varias máquinas, siga las instrucciones que se indican en Ejecución de los ejemplos de Windows Communication Foundation.