ServiceDebugBehavior Classe

Definição

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:

<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:

  1. Adicione um behaviorConfiguration atributo 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> .

  2. Adicione ou crie uma <secção ServiceBehaviors> e adicione um <elemento behavior> com o nome que corresponda ao behaviorConfiguration valor 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> .

  3. 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.

Aplica-se a