Share via


<serviceDebug>

Especifica las características de depuración y de información de ayuda para un servicio Windows Communication Foundation (WCF).

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceDebug>

Sintaxis

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

Atributos y elementos

En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.

Atributos

Atributo Descripción
httpHelpPageBinding Valor de cadena que especifica el tipo de enlace que se va a usar cuando se utilice HTTP para tener acceso a la página de ayuda del servicio.

Solo se admitirán los enlaces con elementos de enlace internos que admiten System.ServiceModel.Channels.IReplyChannel. Además, la propiedad System.ServiceModel.Channels.MessageVersion del enlace debe ser MessageVersion.None.
httpHelpPageBindingConfiguration Cadena que especifica el nombre del enlace que se especifica en el atributo httpHelpPageBinding, que hace referencia a la información de configuración adicional de este enlace. El mismo nombre se debe definir en la sección <bindings>.
httpHelpPageEnabled Valor booleano que controla si WCF publica una página de ayuda HTML en la dirección especificada por el atributo httpHelpPageUrl. De manera predeterminada, es true.

Puede establecer esta propiedad en false para deshabilitar la publicación de una página de ayuda HTML visible en exploradores HTML.

Para asegurarse de que la página de ayuda HTML se publica en la ubicación controlada por el atributo httpHelpPageUrl, debe establecer este atributo en true. Además, se debe cumplir una de las condiciones siguientes:

- El atributo httpHelpPageUrl es una dirección absoluta que admite el esquema del protocolo HTTP.
- Hay una dirección base para el servicio que admite el esquema del protocolo HTTP.

Aunque se produzca una excepción si una dirección absoluta que no admite el esquema del protocolo HTTP está asignada al atributo httpHelpPageUrl, cualquier otro escenario en el que ninguno de los criterios anteriores se cumpla tiene como resultado que no se produzca ninguna excepción ni ninguna página de ayuda HTML.
httpHelpPageUrl Un URI que especifica la dirección URL basada en HTTP relativa o absoluta del archivo de ayuda HTML personalizado que el usuario ve cuando el punto de conexión se ve mediante un explorador HTML.

Puede utilizar este atributo para habilitar el uso de un archivo de ayuda HTML personalizado que se devuelve de una solicitud Http/Get, por ejemplo, de un explorador HTML. La ubicación del archivo de ayuda HTML se resuelve como sigue.

1. Si el valor de este atributo es una dirección relativa, la ubicación del archivo de ayuda HTML es el valor de la dirección base del servicio que admite solicitudes HTTP, más este valor de propiedad.
2. Si el valor de este atributo es una dirección absoluta y admite solicitudes HTTP, la ubicación del archivo de ayuda HTML es el valor de esta propiedad.
3. Si el valor de este atributo es absoluto pero no admite solicitudes HTTP, se genera una excepción.

Este atributo solo es válido cuando el atributo httpHelpPageEnabled es true.
httpsHelpPageBinding Valor de cadena que especifica el tipo de enlace que se va a usar cuando se utilice HTTPS para tener acceso a la página de ayuda del servicio.

Solo se admitirán los enlaces con elementos de enlace internos que admiten IReplyChannel. Además, la propiedad System.ServiceModel.Channels.MessageVersion del enlace debe ser MessageVersion.None.
httpsHelpPageBindingConfiguration Cadena que especifica el nombre del enlace que se especifica en el atributo httpsHelpPageBinding, que hace referencia a la información de configuración adicional de este enlace. El mismo nombre se debe definir en la sección <bindings>.
httpsHelpPageEnabled Valor booleano que controla si WCF publica una página de ayuda HTML en la dirección especificada por el atributo httpsHelpPageUrl. De manera predeterminada, es true.

Puede establecer esta propiedad en false para deshabilitar la publicación de una página de ayuda HTML visible en exploradores HTML.

Para asegurarse de que la página de ayuda HTML se publica en la ubicación controlada por el atributo httpsHelpPageUrl, debe establecer este atributo en true. Además, se debe cumplir una de las condiciones siguientes:

- El atributo httpsHelpPageUrl es una dirección absoluta que admite el esquema de protocolo HTTPS.
- Hay una dirección base para el servicio que admite el esquema de protocolo HTTP.

Aunque se produzca una excepción si una dirección absoluta que no admite el esquema de protocolo HTTPS está asignada al atributo httpsHelpPageUrl, cualquier otro escenario en el que ninguno de los criterios anteriores se cumple tiene como resultado que no se produzca ninguna excepción ni ninguna página de ayuda HTML.
httpsHelpPageUrl Un URI que especifica la dirección URL basada en HTTPS relativa o absoluta del archivo de ayuda HTML personalizado que el usuario ve cuando el extremo se ve mediante un explorador HTML.

Puede utilizar este atributo para habilitar el uso de un archivo de ayuda HTML personalizado que se devuelve de una solicitud HTTPS/Get, por ejemplo, de un explorador HTML. La ubicación del archivo de ayuda HTML se resuelve como sigue:

Si el valor de esta propiedad es una dirección relativa, la ubicación del archivo de ayuda HTML es el valor de la dirección base del servicio que admite solicitudes HTTPS, más este valor de propiedad.
- Si el valor de esta propiedad es una dirección absoluta y admite solicitudes HTTPS, la ubicación del archivo de ayuda HTML es el valor de esta propiedad.
- Si el valor de esta propiedad es absoluto pero no admite solicitudes HTTPS, se inicia una excepción.

Este atributo solo es válido cuando el atributo httpHelpPageEnabled es true.
includeExceptionDetailInFaults Un valor que especifica si incluir la información de excepción administrada en el detalle de errores SOAP devueltos al cliente para su depuración. El valor predeterminado es false.

Si se establece el atributo en true, puede permitir el flujo de información de excepción administrada al cliente para propósitos de depuración, así como la publicación de archivos de información HTML para usuarios que examinen el servicio en exploradores web. Precaución: Devolver información de excepción administrada a los clientes puede ser un riesgo para la seguridad. Esto es porque los detalles de excepción exponen información acerca de la implementación de servicio interna que podría ser usada por clientes no autorizados.

Elementos secundarios

Ninguno.

Elementos primarios

Elemento Descripción
<behavior> Especifica un elemento de comportamiento.

Comentarios

Establecer includeExceptionDetailInFaults en true permite al servicio devolver cualquier excepción producida por el código de aplicación incluso si la excepción no se declara mediante FaultContractAttribute. Este valor es útil al depurar los casos donde el servidor produce una excepción inesperada. Al usar este atributo, se devuelve un formulario serializado de la excepción desconocida y usted puede examinar más detalles de la excepción.

Precaución

Devolver la información de excepción administrada a los clientes puede suponer un riesgo para la seguridad porque los datos de la excepción exponen información sobre la implementación de servicio interna que los clientes desautorizados podrían utilizar. Debido a los problemas de seguridad implicados, se recomienda encarecidamente que sólo realice este procedimiento en escenarios de depuración controlados. Debería establecer includeExceptionDetailInFaults en false al implementar su aplicación.

Para más información sobre los problemas de seguridad relacionados con la excepción administrada, consulte Especificación y administración de errores en contratos y servicios. Para obtener un ejemplo de código, consulte Comportamiento de depuración de servicio.

También puede establecer httpsHelpPageEnabled y httpsHelpPageUrl para 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 el atributo httpHelpPageUrl. Además, puede hacerlo de manera segura utilizando HTTPS en lugar de HTTP.

Los atributos opcionales httpHelpPageBinding y httpHelpPageBinding le permiten configurar los enlaces utilizados para tener acceso a la página web del servicio. Si no se especifican, los enlaces predeterminados (HttpTransportBindingElement, en el caso de HTTP y HttpsTransportBindingElement, en el caso de HTTPS) se utilizan según corresponda para el acceso de página de ayuda del servicio. Observe que no puede utilizar estos atributos con los enlaces WCF integrados. Solo se admitirán enlaces con elementos de enlace internos compatibles con xref:System.ServiceModel.Channels.IReplyChannel>. Además, la propiedad System.ServiceModel.Channels.MessageVersion del enlace debe ser MessageVersion.None.

Consulte también