ServiceDebugBehavior Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Habilita las características de depuración y ayuda para un servicio de Windows Communication Foundation (WCF).
public ref class ServiceDebugBehavior : System::ServiceModel::Description::IServiceBehavior
public class ServiceDebugBehavior : System.ServiceModel.Description.IServiceBehavior
type ServiceDebugBehavior = class
interface IServiceBehavior
Public Class ServiceDebugBehavior
Implements IServiceBehavior
- Herencia
-
ServiceDebugBehavior
- Implementaciones
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar un archivo de configuración para habilitar la característica de la página de ayuda HTML y devolver información de excepción dentro de un error SOAP al cliente con fines de depuración, además de habilitar la compatibilidad con metadatos. Este archivo de configuración muestra los siguientes pasos básicos para agregar compatibilidad con las ServiceDebugBehavior características:
Dado que el ServiceDebugBehavior tipo es una System.ServiceModel.Description.IServiceBehavior implementación, el <elemento de servicio> que representa el tipo de servicio tiene un identificador de configuración de comportamiento de
behaviorConfiguration="metadataAndDebug".Dado que el ServiceDebugBehavior tipo es una System.ServiceModel.Description.IServiceBehavior implementación, se agrega un <elemento de comportamiento> a una <sección serviceBehaviors> . Establezca el
nameatributo del <elemento de comportamiento> cuyo valor es el identificador delbehaviorConfigurationatributo del <elemento de servicio> . En este caso, el valor esmetadataAndDebug.Agregue un <elemento serviceDebug> con los distintos atributos establecidos en la configuración deseada. En este caso, los
httpHelpPageEnabledvalores de atributo yincludeExceptionDetailInFaultsse establecen entrue.
<configuration>
<system.serviceModel>
<services>
<!--
Step 1. Add a behaviorConfiguration attribute
in the <service> element.
-->
<service
name="Microsoft.WCF.Documentation.SampleService"
behaviorConfiguration="metadataAndDebug">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/SampleService" />
</baseAddresses>
</host>
<endpoint
address=""
binding="wsHttpBinding"
contract="Microsoft.WCF.Documentation.ISampleService"
/>
<endpoint
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange"
/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<!--
Step 2. Inside a <serviceBehaviors> section, add
a name attribute in the <behaviors> element that
matches the behaviorConfiguration attribute in the
<service> element above.
-->
<behavior name="metadataAndDebug">
<serviceMetadata
httpGetEnabled="true"
httpGetUrl=""
/>
<!--
Step 3. Add a <serviceDebug> element and
modify the various attributes that suit your
scenario.
-->
<serviceDebug
httpHelpPageEnabled="true"
includeExceptionDetailInFaults="true"
/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Comentarios
Use las ServiceDebugBehavior propiedades de un archivo de configuración o mediante programación para habilitar el flujo de información de excepción administrada al cliente con fines de depuración, así como la publicación de archivos de información HTML para los usuarios que exploran el servicio en exploradores web.
Establezca la IncludeExceptionDetailInFaults propiedad true en para indicar a WCF que devuelva información de excepciones administradas en errores soap a los clientes con fines de depuración.
Precaución
Devolver información de excepciones administradas a los clientes puede ser un riesgo de seguridad porque los detalles de la excepción exponen información sobre la implementación del servicio interno que podrían usar los clientes no autorizados. Además, aunque las ServiceDebugBehavior propiedades también se pueden establecer mediante programación, puede ser fácil olvidarse de deshabilitar al implementar IncludeExceptionDetailInFaults .
Debido a los problemas de seguridad implicados, se recomienda encarecidamente que:
Use un archivo de configuración de aplicación para establecer el valor de la IncludeExceptionDetailInFaults propiedad en
true.Solo lo hace en escenarios de depuración controlados.
Para obtener más información sobre los problemas de seguridad relacionados con la información de excepción administrada, vea Especificación y control de errores en contratos y servicios.
Las HttpHelpPageEnabled propiedades y HttpsHelpPageEnabled indican al servicio que publique archivos de ayuda HTML cuando el servicio se vea mediante un explorador HTML.
Las HttpHelpPageUrl propiedades y HttpsHelpPageUrl controlan la ubicación de la página de ayuda HTML que se ve.
Para habilitar o deshabilitar una de las ServiceDebugBehavior características mediante un archivo de configuración:
Agregue un
behaviorConfigurationatributo al elemento de servicio> para el< servicio WCF. Los comportamientos de los puntos de conexión se configuran en <los elementos de punto de conexión> ; los comportamientos de servicio en <los elementos de servicio> .Agregue o cree una <sección serviceBehaviors> y agregue un <elemento de comportamiento> con el nombre que coincida con el valor de atributo del
behaviorConfigurationpaso 1. Los comportamientos de punto de conexión se configuran mediante un <elemento endpointBehaviors> ; los comportamientos de servicio se configuran mediante un <elemento serviceBehaviors> .Agregue un <elemento serviceDebug> al <elemento de comportamiento> del paso 2 y habilite o deshabilite las distintas propiedades adecuadas para su escenario.
Para obtener un ejemplo específico, vea la sección Ejemplo.
Constructores
| Nombre | Description |
|---|---|
| ServiceDebugBehavior() |
Inicializa una nueva instancia de la clase ServiceDebugBehavior. |
Propiedades
| Nombre | Description |
|---|---|
| HttpHelpPageBinding |
Obtiene o establece el acceso de alto nivel a la definición de un enlace. |
| HttpHelpPageEnabled |
Obtiene o establece un valor que controla si Windows Communication Foundation (WCF) publica una página de ayuda HTML en la dirección controlada por la HttpHelpPageUrl propiedad . |
| HttpHelpPageUrl |
Obtiene o establece la ubicación en la que se publica el archivo de ayuda HTML. |
| HttpsHelpPageBinding |
Obtiene o establece el acceso de alto nivel a la definición de un enlace. |
| HttpsHelpPageEnabled |
Obtiene o establece un valor que especifica si Windows Communication Foundation (WCF) devuelve un archivo de ayuda HTML a través de HTTPS en la dirección controlada por la HttpsHelpPageUrl propiedad . |
| HttpsHelpPageUrl |
Obtiene o establece la ubicación en la que se publica un archivo HTML para la recuperación mediante HTTPS. |
| IncludeExceptionDetailInFaults |
Obtiene o establece un valor que especifica si se debe incluir información de excepción administrada en el detalle de los errores soap devueltos al cliente con fines de depuración. |
Métodos
| Nombre | Description |
|---|---|
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Implementa el AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) método para admitir el comportamiento. |
| IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Implementa el ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) método para admitir el comportamiento. |
| IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Implementa el Validate(ServiceDescription, ServiceHostBase) método para admitir el comportamiento. |