Esta página foi útil?
Seus comentários sobre este conteúdo são importantes. Queremos saber sua opinião.
Comentários adicionais?
1500 caracteres restantes
Exportar (0) Imprimir
Expandir Tudo

Visão geral do rastreamento no ASP.NET

O rastreamento no ASP.NET permite visualizar informações de diagnóstico sobre uma única solicitação para uma página feita em ASP.NET. O rastreamento do ASP.NET permite que você siga o caminho de execução de uma página, exiba informações de diagnóstico em tempo de execução, e depure sua aplicação. O rastreamento no ASP.NET pode ser integrado a nível de sistema de rastreamento para fornecer vários níveis de saída do rastreamento em aplicações distribuídas e multi camadas.

Esse tópico contém:

Rastreamento do ASP.NET oferece os seguintes recursos:

  • Debugging statments    Você pode escrever instruções de depuração no seu código sem removê-los do seu aplicativo quando ele é implantado para servidores de produção. Você também pode criar estruturas ou variáveis em uma página e rastrear através do caminho de execução do seu aplicativo ou página.

  • Integrated tracing functionality    Você pode rotear mensagens emitidas pela classe System.Diagnostics.Trace ao ASP.NET rastreamento saída e rotear mensagens emitidas pelo rastreamento do ASP.NET para System.Diagnostics.Trace. Você também pode encaminhar eventos de instrumentação do ASP.NET para System.Diagnostics.Trace. Para obter mais informações, consulte Demonstra Passo a passo: Integração do rastreamento no ASP.NET com rastreamento Sistema.Diagnostics.

  • Programmatic access to trace messages    Você pode acessar e manipular mensagens de rastreamento através do seu código para exercer um melhor controle sobre o formato das mensagens de rastreamento ou para processamentos adicionais que você precisar.

  • Application-level tracing    A nova opção de rastreamento em nível de aplicativo permite que você exiba os dados de rastreamento mais recentes disponíveis sem reiniciar uma sessão de rastreamento e sem aumentar a quantidade de dados de rastreamento que este servidor deve armazenar. Os dados mais recentes de rastreamento são exibidos, enquanto antigos dados rastreamento serão descartados.

Voltar ao topo

O Rastreamento acrescenta informações de diagnóstico e mensagens de rastreamento personalizadas à saída da página e envia essas informações para o navegador solicitante. Opcionalmente, você pode visualizar essas informações de um visualizador de rastreamento separado (Trace.axd) que exibe informações de rastreamento para cada página em um aplicativo Web ASP.NET. Informações de rastreamento podem ajudar a investigar erros ou resultados indesejados enquanto o ASP.NET processa uma solicitação de página.

Você pode configurar páginas individuais para exibir informações de rastreamento. Alternativamente, você pode configurar o arquivo Web.config do aplicativo para que todas as páginas exibam informações de rastreamento, a menos que a página desabilite explicitamente o rastreamento. Definir o rastreamento na aplicativo é útil porque você não tem que mudar as páginas individualmente para ativar e desativá-lo.

Instruções de rastreamento são processadas e exibidas somente quando o rastreamento está habilitado. Você pode controlar se o rastreamento será exibido em uma página, com o visualizador de rastreamento ou ambos. Para obter informações adicionais sobre como ativar o rastreamento para uma página, consulte Como: Habilitar o rastreamento para uma página ASP.NET. Para obter informações adicionais sobre como ativar o rastreamento para um aplicativo, consulte Como: Habilitar o rastreamento para um aplicativo ASP.NET.

Rastreamento ASP.NET em Nível de Aplicativo

Você habilita o rastreamento em nível de aplicativo usando o elemento trace no arquivo Web.config. Quando você habilita o rastreamento de aplicativo, o ASP.NET coleta informações de rastreamento para cada solicitação para a aplicação até o número máximo de solicitações que você especificar. O número de solicitações padrão é 10. Por padrão, quando o visualizador de rastreamento atinge seu limite de solicitações, o aplicativo para de monitorar as solicitações. Você pode configurar o rastreamento para armazenar os dados de rastreamento mais antigos (descartando itens mais recentes) ou as informações de rastreamento mais recente (descartando itens mais velhos).

ObservaçãoObservação:

Quando você ativa o rastreamento para todo o aplicativo na Web. arquivo de configuração, informações de rastreamento são coletadas e processadas para cada página nesse aplicativo. Para substituir as configurações de todo o aplicativo, defina o Trace atributo naquela página @ Page diretiva false. Quaisquer instrucões Write ou Warn que você inclui em um código de página são armazenadas e retornadas somente para o visualizador de rastreamento.

Exibindo Informações de Rastreamento

Você pode exibir informações de rastreamento na parte inferior de páginas individuais. Alternativamente, você pode usar o visualizador de rastreamento (Trace.axd) para exibir informações de rastreamento, que são coletadas e armazenadas em cache pelo ASP.NET quando o rastreamento está habilitado. Para obter detalhes sobre o que a exibição de rastreamento inclui, consulte Reading ASP.NET Trace Information posteriormente neste tópico.

Se você desejar que as informações de rastreamento apareçam no final da página à qual elas estão associadas, você pode definir o atributo PageOutput do elemento trace como true. Se você ativar o rastreamento em nível de aplicativo, mas se você não desejar que informações de rastreamento sejam exibidas para algumas páginas, você pode definir o atributo Trace na diretiva @ Page dessas páginas para false. Para obter mais informações sobre como configurar um aplicativo do ASP.NET, consulte Visão Geral da Configuração ASP.NET.

Por padrão, rastreamento em nível de aplicativo pode ser exibidos somente no computador do servidor Web local. Para tornar as informações de rastreamento em nível de aplicativo visíveis a partir de computadores remotos, você pode definir o atributo LocalOnly do elemento trace para false.

ObservaçãoObservação:

Para ajudar a manter a Web aplicativo seguro, use a capacidade de rastreamento remoto somente quando estiver desenvolvendo ou implantando seu aplicativo. Tornar Verifique se que você desativá-lo antes de você transferência seu aplicativo para servidores Web de produção . Para fazer Isso , Definir o LocalOnly atributo à true no arquivo Web.config.

O exemplo a seguir mostra uma configuração de rastreamento do aplicativo que coleta informações de rastreamento para até 40 solicitações. Ele também permite que navegadores em computadores que não seja o servidor para exibir o visualizador de rastreamento.

<configuration>
  <system.web>
    <trace enabled="true" requestLimit="40" localOnly="false" />
  </system.web>
</configuration>

Gravando Mensagens de Rastreamento do ASP.NET Personalizadas

Você pode anexar informações de rastreamento personalizada para a exibição de rastreamento em um página ASP.NET ou para o log de rastreamento. As informações de rastreamento que são gravadas no log de rastreamento são visíveis com o visualizador de rastreamento. Para obter mais informações, consulte Como: Exibir informações de Rastrear ASP.NET com o visualizador de Rastrear.

Você pode gravar as informações de rastreamento usando o métodos Warn ou Write da classe TraceContext. A diferença entre os dois métodos é que uma mensagem escrita com o método Warn aparece no texto em vermelho.

O exemplo a seguir mostra como usar a classe TraceContext para exibir as informações de rastreamento no final de uma página ASP.NET. Será apresentada uma exceção diferente para cada controle LinkButton que causou o postback. A mensagem de erro que é usada para inicializar instância ArgumentException or InvalidOperationException é exibida no log de rastreamento.

<%@ Page Language="C#" Trace="true"  %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<script runat="server">
void Page_Load(object sender, EventArgs e)
{
    try {
      if (IsPostBack)
      {

        switch (Request.Form["__EVENTTARGET"])
        {
          case "WarnLink":
            throw new ArgumentException("Trace warn.");
            break;
          case "WriteLink":
            throw new InvalidOperationException("Trace write.");
            break;
          default:
            throw new ArgumentException("General exception.");
            break;          
        }
      }
    }
    catch (ArgumentException ae) {    
        Trace.Warn("Exception Handling", "Warning: Page_Load.", ae);
    }
    catch (InvalidOperationException ioe) {    
        Trace.Write("Exception Handling", "Exception: Page_Load.", ioe);
    }
}

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Trace Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:LinkButton id="WriteLink" 
                      runat="server"
                      text="Generate Trace Write" />
      <asp:LinkButton id="WarnLink"
                      runat="server"
                      text="Generate Trace Warn" />
    </div>
    </form>
</body>
</html>


Lendo Informações de Rastreamento do ASP.NET

Você pode visualizar informações de rastreamento que são anexadas no final de uma página ASP.NET ou no visualizador de rastreamento (trace viewer). Em ambos os casos, as informações exibidas são as mesmas. O ASP.NET organiza as informações de rastreamento em uma série de tabelas. Para obter informações adicionais sobre como exibir informações de rastreamento em uma página, consulte Como: Habilitar o rastreamento para uma página ASP.NET. Para obter informações sobre como visualizar informações de rastreamento no visualizador de rastreamento, consulte Como: Modo de exibição ASP.NET Trace Information with the Trace Viewer.

Informação de rastreamento aparecem na seguinte ordem.

Request Details (Detalhes de Solicitação)

A seção Request Details (Detalhes de Solicitação) exibe informações gerais sobre a solicitação e a resposta atuais.

Valor

Descrição

Session ID (Identificação da sessão)

A identificação da sessão para a solicitação especificada.

Time of Request (Hora da solicitação)

A hora em que a solicitação foi feita.

Request Encoding (Codificação da Solicitação)

A codificação de caractere para a solicitação.

Request Type (Tipo de solicitação)

O método HTTP usado (GET ou POST).

Status Code (Código de status)

O conteúdo do código de status associado com a resposta. Para obter mais informações, consulte RFC 2616 no Site da World Wide Web Consortium (W3C).

Response Encoding (Codificação da Resposta)

A codificação de caractere para a resposta.

Trace Information (Informações de Rastreamento)

A seção Informações de Rastreamento apresenta o fluxo de eventos de nível de página. Se você tiver criado mensagens de rastreamento personalizadas, as mensagens são exibidas na seção Informações de Rastreamento também.

Valor

Descrição

Category (Categoria)

A categoria de rastreamento personalizada especificada em uma chamada de método Warn ou Write, se houver.

Message (Mensagem)

A mensagem de rastreamento personalizada especificada em um Warn ou Write método, se houver.

Desde a(s) primeira(s)

O tempo decorrido em segundos desde a primeira mensagem de rastreamento foi processada. A primeira mensagem de rastreamento aparece no topo da lista.

Desde a(s) última(s)

O tempo decorrido em segundos entre o processamento da mensagem de rastreamento atual e a mensagem de rastreamento anterior.

Control Tree (Árvore de Controle)

A seção Control Tree exibe informações sobre os controles do servidor ASP.NET que são criados na página.

Valor

Descrição

Control ID (Identificação do controle)

A identificação para o controle. Se você não especificou uma propriedade ID para o controle, o ASP.NET gerará uma ID usando a propriedade UniqueID.

Type (Tipo)

O tipo totalmente qualificado do controle.

Render Size bytes

O tamanho em bytes do controle processado (incluindo controles filho). Este é o tamanho real do código HTML, XML ou outro formato que é enviado para o navegador.

ViewState Size bytes

O tamanho em bytes de estado de exibição do controle (sem controles filho). Para obter mais informações, consulte Visão Geral sobre o Gerenciamento de Estado do ASP.NET.

ControlState Size bytes

O tamanho em bytes de estado de controle do controle (sem controles filho). Para obter mais informações, consulte Visão Geral sobre o Gerenciamento de Estado do ASP.NET.

Session State (Estado da sessão)

A seção de estado da sessão exibe informações sobre os valores que estão armazenados no estado da sessão, se houver. Para obter mais informações, consulte Visão geral sobre Estado de sessão ASP.NET.

Valor

Descrição

Session Key (Chave da sessão)

A chave para os dados armazenados no estado da sessão, se houver.

Type (Tipo)

O tipo totalmente qualificado do objeto que armazena os dados.

Valor

Uma representação de sequência dos dados armazenados no estado da sessão, se houver.

Application State (Estado do Aplicativo)

A seção de Estado da Aplicação exibe informações sobre valores armazenados no estado do aplicativo, se houver. Para obter mais informações, consulte Visão geral do estado do aplicativo ASP.NET.

Valor

Descrição

Application Key (Chave do Aplicativo)

A chave para dados armazenados no estado do aplicativo, se houver.

Type (Tipo)

O tipo totalmente qualificado do objeto que armazena os dados.

Valor

Uma representação de sequência dos dados armazenados no estado do aplicativo, se houver.

Cookies Collection (Coleção Cookies)

As seções Request Cookies e Response Cookies exibem informações sobre os cookies que são passados entre o navegador e o servidor a cada solicitação e resposta. A seção exibe os cookies persistentes ou de sessão. O ASP.NET cria alguns cookies automaticamente, tais como os de estado de sessão baseado em cookies e para autenticação de formulários. Para obter mais informações, consulte Visão Geral de Cookies do ASP.NET.

Valor

Descrição

Nome

O nome do cookie.

Valor

O valor do cookie, ou subchaves e valores se o cookie for multivalorado.

Size (Tamanho)

O tamanho em bytes do cookie.

Headers Collection (Coleção Headers)

A seção Headers Collection (Coleção Headers) exibe informações sobre pares nome/valor dos cabeçalhos de mensagem solicitação e resposta, que fornecem informações sobre o corpo da mensagem ou sobre o recurso solicitado. Informações do cabeçalho são usadas para controlar a forma como as mensagens de solicitação são processadas e como as mensagens de resposta são criadas. Para obter mais informações sobre cabeçalhos HTTP, consulte RFC 2616 no Site da World Wide Web Consortium (W3C).

Valor

Descrição

Nome

O nome do cabeçalho.

Valor

O valor do cabeçalho.

Form Collection (Coleção do Formulário)

A seção Form Collection exibe os pares nome/valor que mostram os valores de elemento do formulário (valores de controle) que ão enviados em uma solicitação durante uma operação POST (postback).

Valor

Descrição

Nome

O nome da variável de formulário.

Valor

O valor da variável de formulário.

Querystring Collection (Coleção QueryString)

A seção Querystring Collection mostra os valores que são passados na URL. Em uma URL, informações sobre a sequência de caracteres da consulta são separadas das informações de caminho por um ponto de interrogação; elementos múltiplos da sequência de caracteres da consulta são separados por um E comercial (&). Pares nome/valor da sequência de caracteres da consulta são separados por um sinal de igual (=). A propriedade QueryString do objeto HttpRequest retorna um NameValueCollection das variáveis de sequência de caracteres da consulta.

Valor

Descrição

Nome

O nome da variável de sequência de caracteres da consulta

Valor

Valor da variável de sequência de caracteres da consulta.

Server Variables (Variáveis de Servidor)

A seção Server Variables exibe um conjunto de variáveis de ambiente relativas ao servidor e informações de cabeçalho de solicitação. A propriedade ServerVariables do objeto HttpRequest retorna um NameValueCollection das variáveis de sequência de caracteres da consulta.

Valor

Descrição

Nome

O nome da variável de servidor.

Valor

O valor da variável de servidor.

Voltar ao topo

Rastreamento no ASP.NET e o rastreamento de diagnóstico

O rastreamento no ASP.NET grava as mensagens que são exibidas em páginas da Web ASP.NET e no visualizador de rastreamento do ASP.NET (Trace.axd). Por outro lado, a classe System.Diagnostics.Trace é usada para rastrear mensagens de gravação para a saída de rastreamento .NET Framework padrão (normalmente uma janela de console). Para facilitar controlar como suas páginas da Web ASP.NET interagem com objetos de negócios e outros componentes, você pode integrar rastreamento de saída do ASP.NET com rastreamento System.Diagnostics. Você pode, em seguida, encaminhar todas as mensagens de rastreamento para uma dessas saídas.

Um cenário comum que usa o rastreamento do ASP.NET e System.Diagnostics.Trace é o das páginas da Web que usam objetos comerciais da camada intermediária para interagir com as regras de dados e de negócios. Você também pode usar rastreamento System.Diagnostics.Trace para páginas que usam serviços da empresa, como transações e filas. Nessas situações, os componentes comerciais e empresariais reproduzem partes chave na execução bem-sucedida da página. Além disso, ele pode ajudar com a análise aplicativo para monitorar o fluxo de execução através dos vários níveis usando uma única saída de rastreamento. Para obter mais informações, consulte Como: Habilitar o rastreamento para um aplicativo ASP.NET.

Atributos de Configuração do Rastreamento

A tabela a seguir mostra os atributos que você pode usar para modificar o comportamento do rastreamento em nível de aplicativo no elemento trace do arquivo Web.config.

Atributo

Descrição

Enabled

true para ativar o rastreamento para o aplicativo, caso contrário, false. O padrão é false. Você pode substituir essa configuração para páginas individuais definindo o atributo Trace na diretiva @ Page de uma página como true ou false.

PageOutput

true para exibir rastreamento em páginas e no visualizador de rastreamento (Trace.axd); caso contrário, false. O padrão é false.

ObservaçãoObservação:
Páginas individuais que tenham rastreamento ativado não são afetadas por essa configuração.

RequestLimit

O número de solicitações de rastreamento para armazenar no servidor. O padrão é 10.

TraceMode

A ordem em que as informações de rastreamento é exibida. Defina como SortByTime para classificar a ordem na qual as informações foi processadas. Defina como SortByCategory para classificar em ordem alfabética por categoria definida pelo usuário. O padrão é SortByTime.

LocalOnly

true para disponibilizar o visualizador de rastreamento (Trace.axd) somente no servidor Web host; caso contrário, false. O padrão é true.

MostRecent

true Para exibir as informações de rastreamento mais recentes como o rastreamento de saída; caso contrário, false. Se esse valor for false, quando o valor requestLimit é excedido, novas solicitações não são armazenadas. O padrão é false.

ObservaçãoObservação:
Rastreamento de dados que excedem o limite definido pela requestLimit atributo é descartado em favor dos dados mais recentes somente quando mostRecent é true.

Classe

Descrição

System.Diagnostics.Trace

A classe principal para a implementação de rastreamento.

TraceContext

Captura e apresenta detalhes de execução de uma solicitação da Web.

Voltar ao topo

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2015 Microsoft