ServiceDebugBehavior Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Habilita recursos de depuração e informações de ajuda para um serviço do WCF (Windows Communication Foundation).
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 a seguir mostra como usar um arquivo de configuração para habilitar o recurso de página de ajuda HTML e retornar informações de exceção dentro de uma falha SOAP de volta ao cliente para fins de depuração, além de habilitar o suporte a metadados. Este arquivo de configuração mostra as seguintes etapas básicas para adicionar suporte aos ServiceDebugBehavior recursos:
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 <seção serviceBehaviors> . Defina o
name
atributo do <elemento de comportamento> do qual o valor é o identificador dobehaviorConfiguration
atributo do <elemento de serviço> . Nesse caso, o valor émetadataAndDebug
.Adicione um <elemento serviceDebug> com os vários atributos definidos para a configuração desejada. Nesse caso, os valores e
includeExceptionDetailInFaults
ohttpHelpPageEnabled
atributo sã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>
Comentários
Use as ServiceDebugBehavior propriedades de um arquivo de configuração ou programaticamente para habilitar o fluxo de informações de exceção gerenciadas para o cliente para fins de depuração, bem como a publicação de arquivos de informações HTML para usuários que navegam pelo serviço em navegadores da Web.
Defina a propriedade para true
instruir o IncludeExceptionDetailInFaults WCF a retornar informações de exceção gerenciadas em falhas SOAP para clientes para fins de depuração.
Cuidado
Retornar informações de exceção gerenciadas aos clientes pode ser um risco de segurança porque os detalhes da exceção expõem informações sobre a implementação de serviço interno 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 desabilitar IncludeExceptionDetailInFaults ao implantar.
Devido aos problemas de segurança envolvidos, é altamente recomendável que:
Você usa um arquivo de configuração de aplicativo para definir o valor da IncludeExceptionDetailInFaults propriedade como
true
.Você só faz isso em cenários de depuração controlados.
Para obter mais informações sobre os problemas de segurança relacionados a informações de exceção gerenciadas, consulte Especificando e tratando falhas em contratos e serviços.
As HttpHelpPageEnabled propriedades e HttpsHelpPageEnabled o serviço instruem o serviço a publicar arquivos de ajuda HTML quando o serviço é exibido usando um navegador HTML.
As HttpHelpPageUrl propriedades e HttpsHelpPageUrl as propriedades controlam o local da página de ajuda HTML exibida.
Para habilitar ou desabilitar um dos ServiceDebugBehavior recursos usando um arquivo de configuração:
Adicione um
behaviorConfiguration
atributo ao elemento de serviço> para seu< serviço WCF. Comportamentos de ponto de extremidade são configurados em <endpoint> elementos; comportamentos de serviço em <elementos de serviço> .Adicione ou crie uma <seção serviceBehaviors> e adicione um <elemento de comportamento> a ele com o nome que corresponde ao valor do
behaviorConfiguration
atributo da etapa 1. Comportamentos de ponto de extremidade 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> da etapa 2 e habilite ou desabilite as várias propriedades apropriadas ao seu cenário.
Para obter um exemplo específico, consulte a seção Exemplo.
Construtores
ServiceDebugBehavior() |
Inicializa uma nova instância da classe ServiceDebugBehavior. |
Propriedades
HttpHelpPageBinding |
Obtém ou define o acesso de alto nível para a definição de uma associação. |
HttpHelpPageEnabled |
Obtém ou define um valor que controla se o WCF (Windows Communication Foundation) publica uma página de ajuda HTML no endereço controlado pela propriedade HttpHelpPageUrl. |
HttpHelpPageUrl |
Obtém ou define o local em que o arquivo de ajuda HTML é publicado. |
HttpsHelpPageBinding |
Obtém ou define o acesso de alto nível para a definição de uma associação. |
HttpsHelpPageEnabled |
Obtém ou define um valor que especifica se o WCF (Windows Communication Foundation) retorna um arquivo de ajuda HTML via HTTPS no endereço controlado pela propriedade HttpsHelpPageUrl. |
HttpsHelpPageUrl |
Obtém ou define o local no qual um arquivo HTML é publicado para recuperação usando HTTPS. |
IncludeExceptionDetailInFaults |
Um valor que especifica se são incluídas informações de exceção gerenciada no detalhe de falhas SOAP retornadas para o cliente para fins de depuração. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Implementa o método AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) para dar suporte ao comportamento. |
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Implementa o método ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) para dar suporte ao comportamento. |
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Implementa o método Validate(ServiceDescription, ServiceHostBase) para dar suporte ao comportamento. |