ServiceDebugBehavior Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Permite funcionalidades de depuração e informação de ajuda para um serviço do 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
- Herança
-
ServiceDebugBehavior
- Implementações
Exemplos
O exemplo de código seguinte mostra como usar um ficheiro de configuração para ativar a funcionalidade da página de ajuda HTML e devolver informações de exceção dentro de uma falha SOAP ao cliente para efeitos de depuração, além de permitir o suporte a metadados. Este ficheiro de configuração mostra os seguintes passos básicos para adicionar suporte às ServiceDebugBehavior funcionalidades:
Como o ServiceDebugBehavior tipo é uma System.ServiceModel.Description.IServiceBehavior implementação, o <elemento de serviço> que representa o tipo de serviço tem um identificador de configuração de comportamento de
behaviorConfiguration="metadataAndDebug".Como o ServiceDebugBehavior tipo é uma System.ServiceModel.Description.IServiceBehavior implementação, um <elemento de comportamento> é adicionado a uma <secção ServiceBehaviors> . Defina o
nameatributo do <elemento de comportamento> cujo valor é o identificador dobehaviorConfigurationatributo do <elemento de serviço> . Neste caso, o valor émetadataAndDebug.Adicione um <elemento serviceDebug> com os vários atributos definidos para a configuração desejada. Neste caso, os
httpHelpPageEnabledvalores do atributo eincludeExceptionDetailInFaultssão definidos comotrue.
<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>
Observações
Utilize as ServiceDebugBehavior propriedades de um ficheiro de configuração ou programaticamente para permitir o fluxo de informação de exceções geridas para o cliente para fins de depuração, bem como a publicação de ficheiros de informação HTML para utilizadores que navegam no serviço em navegadores Web.
Defina a IncludeExceptionDetailInFaults propriedade para true instruir o WCF a devolver informação de exceções geridas em falhas SOAP aos clientes para efeitos de depuração.
Atenção
Devolver informações de exceções geridas aos clientes pode representar um risco de segurança porque os detalhes das exceções expõem informações sobre a implementação interna do serviço que podem ser usadas por clientes não autorizados. Além disso, embora as ServiceDebugBehavior propriedades também possam ser definidas programaticamente, pode ser fácil esquecer de desativar IncludeExceptionDetailInFaults durante a implantação.
Devido às questões de segurança envolvidas, recomenda-se vivamente que:
Use um ficheiro de configuração da aplicação para definir o valor da propriedade IncludeExceptionDetailInFaults como
true.Só o fazes em cenários de depuração controlados.
Para mais informações sobre as questões de segurança relacionadas com exceções geridas, consulte Especificação e Gestão de Falhas em Contratos e Serviços.
As HttpHelpPageEnabled propriedades e HttpsHelpPageEnabled instruem o serviço a publicar ficheiros de ajuda HTML quando o serviço é visualizado através de um navegador HTML.
As HttpHelpPageUrl propriedades e HttpsHelpPageUrl controlam a localização da página de ajuda HTML que é visualizada.
Para ativar ou desativar uma das ServiceDebugBehavior funcionalidades usando um ficheiro de configuração:
Adicione um
behaviorConfigurationatributo ao <elemento de serviço> do seu serviço WCF. Os comportamentos dos endpoints são configurados nos <elementos do endpoint> ; os comportamentos dos serviços nos <elementos do serviço> .Adicione ou crie uma <secção ServiceBehaviors> e adicione um <elemento behavior> com o nome que corresponda ao
behaviorConfigurationvalor do atributo do passo 1. Os comportamentos dos endpoints são configurados usando um <elemento endpointBehaviors> ; os comportamentos de serviço são configurados usando um <elemento serviceBehaviors> .Adicione um <elemento ServiceDebug> ao <elemento de comportamento> do passo 2 e ative ou desative as várias propriedades apropriadas ao seu cenário.
Para um exemplo específico, veja a secção Exemplo.
Construtores
| Name | Description |
|---|---|
| ServiceDebugBehavior() |
Inicializa uma nova instância da ServiceDebugBehavior classe. |
Propriedades
| Name | Description |
|---|---|
| HttpHelpPageBinding |
Obtém ou estabelece acesso de alto nível à definição de ligação. |
| HttpHelpPageEnabled |
Recebe ou define um valor que controla se Windows Communication Foundation (WCF) publica uma página de ajuda HTML no endereço controlado pela propriedade HttpHelpPageUrl. |
| HttpHelpPageUrl |
Obtém ou define o local onde o ficheiro de ajuda HTML é publicado. |
| HttpsHelpPageBinding |
Obtém ou estabelece acesso de alto nível à definição de ligação. |
| HttpsHelpPageEnabled |
Recebe ou define um valor que especifica se Windows Communication Foundation (WCF) devolve um ficheiro de ajuda HTML sobre HTTPS no endereço controlado pela propriedade HttpsHelpPageUrl. |
| HttpsHelpPageUrl |
Obtém ou define o local onde um ficheiro HTML é publicado para recuperação usando HTTPS. |
| IncludeExceptionDetailInFaults |
Recebe ou define um valor que especifica se deve incluir informação de exceção gerida no detalhe das falhas SOAP devolvidas ao cliente para efeitos de depuração. |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Implementa o AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) método para apoiar o comportamento. |
| IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Implementa o ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) método para apoiar o comportamento. |
| IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Implementa o Validate(ServiceDescription, ServiceHostBase) método para apoiar o comportamento. |