Visão geral do rastreamento no ASP.NET
Rastreamento do ASP.NET permite que você exibir informações de diagnóstico sobre uma única solicitação para um página ASP.NET.Rastreamento ASP.NET possibilita 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 seu aplicativo.Rastreamento ASP.NET pode ser integrado com rastreamento para fornecer vários níveis de rastreamento da saída de aplicativos distribuídos e para diversas arquiteturas (multicamada).
Esse tópico contém:
Recursos
Segundo plano
Exemplos de código
Referência de Classe
Recursos
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: Integrando Rastreamento ASP.NET com rastreamento sistema.Diagnóstico.
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
Segundo plano
Rastreamento adiciona as informações de diagnóstico e mensagens de rastreamento personalizadas à saída da página e envia estas informações ao navegador do solicitante.Opcionalmente, você pode exibir essas informações de um visualizador de rastreamento separado (Trace.axd) que exibe informações do rastreamento para cada página de um determinado aplicativo.Informações de rastreamento podem ajudar a você investigar erros ou resultados indesejados enquanto ASP.NET processa uma solicitação de página.
Você pode configurar páginas individuais para exibirem informações de rastreamento.Como alternativa, 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 explicitamente desative o rastreamento.Definir rastreamento em nível de aplicativo é útil porque você não tem que alterar páginas individuais para ativá-lo e desativá-lo.
As instruções de rastreamento são processadas e exibidas somente quando o rastreamento está ativado.Você pode controlar se rastreamento será exibido numa página, no visualizador de rastreamento, ou em 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ê ativa rastreamento a nível de aplicativo, o ASP.NET coleta informações de rastreamento para cada solicitação ao aplicativo, 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 armazenar solicitações de rastreamento.Você pode configurar o rastreamento para armazenar os dados de rastreamento mais antigos (descartando itens mais recentes) ou as informações de rastreamento mais recentes (descartando itens mais antigos).
Observaçã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 das páginas individuais.Como alternativa, você pode usar o visualizador de rastreamento (Trace.axd) para exibir informações de rastreamento que ão coletadas e armazenadas em cache pelo ASP.NET quando o rastreamento estiver ativado.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çã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: Modo de exibição ASP.NET Trace Information with the Trace Viewer.
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="VB" Trace="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script >
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Try
If (IsPostBack) Then
Select Case Request.Form("__EVENTTARGET")
Case "WarnLink"
Throw New ArgumentException("Trace warn.")
Case "WriteLink"
Throw New InvalidOperationException("Trace write.")
Case Else
Throw New ArgumentException("General exception.")
End Select
End If
Catch ae As ArgumentException
Trace.Warn("Exception Handling", "Warning: Page_Load.", ae)
Catch ioe As InvalidOperationException
Trace.Write("Exception Handling", "Exception: Page_Load.", ioe)
End Try
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head >
<title>Trace Example</title>
</head>
<body>
<form id="form1" >
<div>
<asp:LinkButton id="WriteLink"
text="Generate Trace Write" />
<asp:LinkButton id="WarnLink"
text="Generate Trace Warn" />
</div>
</form>
</body>
</html>
<%@ Page Language="C#" Trace="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script >
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 >
<title>Trace Example</title>
</head>
<body>
<form id="form1" >
<div>
<asp:LinkButton id="WriteLink"
text="Generate Trace Write" />
<asp:LinkButton id="WarnLink"
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 valor do código de status associado à 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 Trace Information (Informações de Rastreamento) exibe o fluxo de eventos em nível de página.Se você tiver criado mensagens de rastreamento personalizadas, as mensagens serão exibidas na seção Trace Information 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 que a primeira mensagem de rastreamento foi processada.A primeira mensagem de rastreamento aparece na parte superior 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 do 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).Esse é o real tamanho do HTML, XML, ou outro formato que é enviado ao navegador. |
ViewState Size bytes |
O tamanho em bytes do view state do controle (desconsiderando 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 do estado do controle do controle (desconsiderando 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 Session State exibe informações sobre os valores que são armazenados no estado de 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 Application State (Estado do Aplicativo) 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 tanto os cookies persistentes quanto os cookies de sessão.O ASP.NET cria alguns cookies automaticamente, tais como aqueles criados para aticação de formulário e para estado da sessão baseada em cookies.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 de cabeçalho são usadas para controlar como mensagens de solicitação são processadas e como 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, rotear todas as mensagens de rastreamento em uma desses 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, pode ajudar com aplicativos de análise para monitorar a execução de fluxo entre as várias camadas usar uma única de rastreamento de saída.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 |
---|---|
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. |
|
true para exibir rastreamento em páginas e no visualizador de rastreamento (Trace.axd); caso contrário, false.O padrão é false.
Observação:
Páginas individuais que tenham rastreamento ativado não são afetadas por essa configuração.
|
|
O número de solicitações de rastreamento para armazenar no servidor.O padrão é 10. |
|
A ordem em que informações de rastreamento são exibidas.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. |
|
true para disponibilizar o visualizador de rastreamento (Trace.axd) somente no servidor Web host; caso contrário, false.O padrão é true. |
|
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ção:
Rastreamento de dados que excedem o limite definido pela requestLimit atributo é descartado em favor dos dados mais recentes somente quando mostRecent é true.
|
Exemplos de código
Tópicos Como Fazer e Passo a passo
Como: Habilitar o rastreamento para uma página ASP.NET
Como: Habilitar o rastreamento para um aplicativo ASP.NET
Como: Modo de exibição ASP.NET Trace Information with the Trace Viewer
Demonstra Passo a passo: Integrando Rastreamento ASP.NET com rastreamento sistema.Diagnóstico
Voltar ao topo
Referência de Classe
Classe |
Descrição |
A classe principal para a implementação de rastreamento. |
|
Captura e apresenta detalhes de execução de uma solicitação da Web. |
Voltar ao topo
Consulte também
Conceitos
Performance, Troubleshooting, and Debugging
Referência
Voltar ao topo