Partilhar via


<serviceDebug>

Especifica funcionalidades de depuração e informação de ajuda para um serviço do Windows Communication Foundation (WCF).

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

Sintaxe

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

Atributos e Elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai.

Attributes

Attribute Description
httpHelpPageBinding Um valor de string que especifica o tipo de binding a ser usado quando HTTP é utilizado para aceder à página de ajuda do serviço.

Apenas serão suportadas fixações com elementos de ligação internos que suportem System.ServiceModel.Channels.IReplyChannel . Adicionalmente, a System.ServiceModel.Channels.MessageVersion propriedade da ligação deve ser MessageVersion.None.
httpHelpPageBindingConfiguration Uma cadeia que especifica o nome da ligação especificada no httpHelpPageBinding atributo, que faz referência à informação adicional de configuração dessa ligação. O mesmo nome deve ser definido na <bindings> secção.
httpHelpPageEnabled Um valor booleano que controla se a WCF publica uma página de ajuda HTML no endereço especificado pelo httpHelpPageUrl atributo. A predefinição é true.

Pode definir esta propriedade para false desativar a publicação de uma página de ajuda HTML visível para navegadores HTML.

Para garantir que a página de ajuda HTML é publicada no local controlado pelo httpHelpPageUrl atributo, deve definir este atributo como true. Além disso, uma das seguintes condições deve também ser cumprida:

- O httpHelpPageUrl atributo é um endereço absoluto que suporta o esquema do protocolo HTTP.
- Existe um endereço base para o serviço que suporta o esquema do protocolo HTTP.

Embora uma exceção seja lançada se um endereço absoluto que não suporta o esquema do protocolo HTTP for atribuído ao httpHelpPageUrl atributo, qualquer outro cenário em que nenhum dos critérios anteriores seja cumprido resulta em nenhuma exceção nem numa página de ajuda HTML.
httpHelpPageUrl Um URI que especifica o URL relativo ou absoluto baseado em HTTP do ficheiro de ajuda HTML personalizado que o utilizador vê quando o endpoint é visualizado através de um navegador HTML.

Pode usar este atributo para permitir o uso de um ficheiro de ajuda HTML personalizado que é devolvido por um pedido HTTP/Get, por exemplo, de um navegador HTML. A localização do ficheiro de ajuda HTML é resolvida da seguinte forma.

1. Se o valor deste atributo for um endereço relativo, a localização do ficheiro de ajuda HTML é o valor do endereço da base de serviço que suporta pedidos HTTP, mais este valor de propriedade.
2. Se o valor deste atributo for um endereço absoluto e suportar pedidos HTTP, a localização do ficheiro de ajuda HTML é o valor desta propriedade.
3. Se o valor deste atributo for absoluto mas não suportar pedidos HTTP, é lançada uma exceção.

Este atributo é válido apenas quando o httpHelpPageEnabled atributo é true.
httpsHelpPageBinding Um valor de string que especifica o tipo de binding a ser usado quando HTTPS é utilizado para aceder à página de ajuda do serviço.

Apenas serão suportadas fixações com elementos de ligação internos que suportem IReplyChannel . Adicionalmente, a System.ServiceModel.Channels.MessageVersion propriedade da ligação deve ser MessageVersion.None.
httpsHelpPageBindingConfiguration Uma cadeia que especifica o nome da ligação especificada no httpsHelpPageBinding atributo, que faz referência à informação adicional de configuração dessa ligação. O mesmo nome deve ser definido na <bindings> secção.
httpsHelpPageEnabled Um valor booleano que controla se a WCF publica uma página de ajuda HTML no endereço especificado pelo httpsHelpPageUrl atributo. A predefinição é true.

Pode definir esta propriedade para false desativar a publicação de uma página de ajuda HTML visível para navegadores HTML.

Para garantir que a página de ajuda HTML é publicada no local controlado pelo httpsHelpPageUrl atributo, deve definir este atributo como true. Além disso, uma das seguintes condições deve também ser cumprida:

- O httpsHelpPageUrl atributo é um endereço absoluto que suporta o esquema do protocolo HTTPS.
- Existe um endereço base para o serviço que suporta o esquema do protocolo HTTPS.

Embora uma exceção seja lançada se um endereço absoluto que não suporta o esquema do protocolo HTTPS for atribuído ao httpsHelpPageUrl atributo, qualquer outro cenário em que nenhum dos critérios anteriores seja cumprido resulta em nenhuma exceção nem em página de ajuda HTML.
httpsHelpPageUrl Um URI que especifica o URL relativo ou absoluto baseado em HTTPS do ficheiro de ajuda HTML personalizado que o utilizador vê quando o endpoint é visualizado através de um navegador HTML.

Pode usar este atributo para permitir o uso de um ficheiro de ajuda HTML personalizado que seja devolvido de um pedido HTTPS/Get, por exemplo, de um navegador HTML. A localização do ficheiro de ajuda HTML é resolvida da seguinte forma:

- Se o valor desta propriedade for um endereço relativo, a localização do ficheiro de ajuda HTML é o valor do endereço da base de serviço que suporta pedidos HTTPS, mais este valor da propriedade.
- Se o valor desta propriedade for um endereço absoluto e suportar pedidos HTTPS, a localização do ficheiro de ajuda HTML é o valor desta propriedade.
- Se o valor desta propriedade for absoluto mas não suportar pedidos HTTPS, é lançada uma exceção.

Este atributo é válido apenas quando o httpHelpPageEnabled atributo é true.
incluiExceçãoDetalheInFalhas 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. A predefinição é false.

Se definir este atributo para true, pode ativar 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. Atenção: Devolver informação de exceção gerida aos clientes pode representar um risco de segurança. Isto porque os detalhes das exceções revelam informações sobre a implementação interna do serviço que podem ser usadas por clientes não autorizados.

Elementos filho

Nenhum.

Elementos Principais

Elemento Description
<comportamento> Especifica um elemento de comportamento.

Observações

Definir includeExceptionDetailInFaults para true permite ao serviço devolver qualquer exceção que seja lançada pelo código da aplicação, mesmo que a exceção não seja declarada usando o FaultContractAttribute. Esta configuração é útil ao depurar casos em que o servidor está a lançar uma exceção inesperada. Ao usar este atributo, uma forma serializada da exceção desconhecida é devolvida e pode examinar mais detalhes da exceçã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. Devido às questões de segurança envolvidas, é fortemente recomendado que o faça apenas em cenários de depuração controlada. Deves definir includeExceptionDetailInFaults para false quando implementas a tua aplicação.

Para detalhes sobre questões de segurança relacionadas com exceções geridas, consulte Especificação e Gestão de Falhas em Contratos e Serviços. Para um exemplo de código, consulte Comportamento de Depuração de Serviços.

Também pode definir httpsHelpPageEnabled e httpsHelpPageUrl ativar ou desativar a página de ajuda. Cada serviço pode, opcionalmente, expor uma página de ajuda que contém informações sobre o serviço, incluindo o endpoint para obter WSDL para o serviço. Isto pode ser ativado definindo httpHelpPageEnabled para true. Isto permite que a página de ajuda seja devolvida a um pedido GET para o endereço base do serviço. Pode alterar este endereço definindo o httpHelpPageUrl atributo. Além disso, pode tornar isto seguro usando HTTPS em vez de HTTP.

O opcional httpHelpPageBinding e httpHelpPageBinding os atributos permitem-lhe configurar as ligações usadas para aceder à página web do serviço. Se não forem especificados, as ligações padrão (HttpTransportBindingElement, no caso de HTTP e HttpsTransportBindingElement, no caso de HTTPS) são usadas para o acesso à página de ajuda do serviço, conforme apropriado. Repare que não pode usar estes atributos com as ligações WCF incorporadas. Apenas serão suportadas ligações com elementos internos que suportem xref:System.ServiceModel.Channels.IReplyChannel> . Adicionalmente, a System.ServiceModel.Channels.MessageVersion propriedade da ligação deve ser MessageVersion.None.

Consulte também