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 características de depuración y de información de Ayuda para un servicio 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
El ejemplo de código siguiente muestra cómo utilizar un archivo de configuración para habilitar la característica de página de ayuda HTML y devolver información de excepción dentro de un error SOAP al cliente para la depuración, además de habilitar la compatibilidad de los metadatos. Este archivo de configuración muestra los siguientes pasos básicos para agregar compatibilidad con las características de ServiceDebugBehavior:
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
name
atributo del <elemento de comportamiento> cuyo valor es el identificador delbehaviorConfiguration
atributo 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 valores de atributo
httpHelpPageEnabled
yincludeExceptionDetailInFaults
se 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
Utilice las propiedades ServiceDebugBehavior desde un archivo de configuración o mediante programación para 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.
Establezca la IncludeExceptionDetailInFaults propiedad true
en para indicar a WCF que devuelva información de excepción administrada en errores SOAP a los clientes con fines de depuració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. Además, aunque también se pueden establecer las propiedades ServiceDebugBehavior mediante programación, puede ser fácil olvidarse de deshabilitar IncludeExceptionDetailInFaults en la implementación.
Debido a los problemas de seguridad implicados, se recomienda encarecidamente que:
Utilice un archivo de configuración de la aplicación para establecer el valor de la propiedad IncludeExceptionDetailInFaults en
true
.Hágalo solamente 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, consulte Especificación y control de errores en contratos y servicios.
Las propiedades HttpHelpPageEnabled y HttpsHelpPageEnabled indican al servicio que publique los archivos de ayuda HTML cuando el servicio se ve mediante explorador HTML.
Las propiedades HttpHelpPageUrl y HttpsHelpPageUrl controlan la ubicación de la página de ayuda de HTML que se ve.
Para habilitar o deshabilitar una de las características ServiceDebugBehavior mediante un archivo de configuración:
Agregue un
behaviorConfiguration
atributo al elemento de servicio> para el< servicio WCF. Los comportamientos de los puntos de conexión se configuran en <endpoint> elementos; 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
behaviorConfiguration
paso 1. Los comportamientos de los puntos 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 concreto, consulte la sección Ejemplo.
Constructores
ServiceDebugBehavior() |
Inicializa una nueva instancia de la clase ServiceDebugBehavior. |
Propiedades
HttpHelpPageBinding |
Obtiene o establece el acceso de alto nivel en 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 propiedad HttpHelpPageUrl. |
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 en 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 propiedad HttpsHelpPageUrl. |
HttpsHelpPageUrl |
Obtiene o establece la ubicación en la que un archivo HTML se publica para la recuperación mediante HTTPS. |
IncludeExceptionDetailInFaults |
Obtiene o establece un valor que especifica si se debe incluir la información de excepción administrada en el detalle de errores SOAP devueltos al cliente para la depuración. |
Métodos
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Implementaciones de interfaz explícitas
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Implementa el método AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) para admitir el comportamiento. |
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Implementa el método ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) para admitir el comportamiento. |
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Implementa el método Validate(ServiceDescription, ServiceHostBase) para admitir el comportamiento. |