Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

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:

O rastreamento do ASP.NET oferece os seguintes recursos:

  • Debugging statments    You can write debug statements in your code without having to remove them from your application when it is deployed to production servers. You can also write variables or structures in a page and trace through the execution path of your page or application.

  • Integrated tracing functionality    You can route messages emitted by the System.Diagnostics.Trace class to ASP.NET tracing output, and route messages emitted by ASP.NET tracing to System.Diagnostics.Trace. You can also forward ASP.NET instrumentation events to 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    You can access and manipulate trace messages from your code for finer control over the format of trace messages or for additional processing that you require.

  • Application-level tracing    The application-level tracing option lets you view the most recent tracing data available without restarting a tracing session and without increasing the amount of tracing data that the server must store. The most recent tracing data is displayed, and older tracing data is discarded.

Back to top

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. For information about how to enable tracing for a page, see Como: habilitar o rastreamento para uma página do ASP.NET. For information about how to enable tracing for an application, see Como: ativar o rastreamento para um aplicativo ASP.NET.

Application-Level ASP.NET Tracing

You enable application-level tracing by using the trace element in the Web.config file. 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ê ativar o rastreamento para toda a aplicação no arquivo Web.config, as informações de rastreamento são coletadas e processadas para cada página no aplicativo. To override the application-wide settings, set the Trace attribute in that page's @ Page directive to false. Any Write or Warn statements that you include in a page's code are stored and returned to the trace viewer only.

Viewing Trace Information

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. For details about what the trace display includes, see Reading ASP.NET Trace Information later in this topic.

If you want trace information to appear at the end of the page that it is associated with, you can set the trace element's PageOutput attribute to true. If you enable application-level tracing, but you do not want trace information displayed for some pages, you can set the Trace attribute in those pages' @ Page directive to false. For more information about how to configure an ASP.NET application, see Visão geral da configuração ASP.NET.

By default, application-level tracing can be viewed only on the local Web server computer. To make application-level trace information visible from remote computers, you can set the trace element's LocalOnly attribute to false.

ObservaçãoObservação

To help keep the Web application secure, use the remote tracing capability only when you are developing or deploying your application. Make sure that you disable it before you transfer your application to production Web servers. To do this, set the LocalOnly attribute to true in the Web.config file.

The following example shows an application trace configuration that collects trace information for up to 40 requests. It also enables browsers on computers other than the server to display the trace viewer.

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

Writing Custom ASP.NET Trace Messages

You can append custom trace information to the trace display in an ASP.NET page or to the trace log. The trace information that is written to the trace log is viewable with the trace viewer. Para obter mais informações, consulte Como: Exibir informações de Rastrear ASP.NET com o visualizador de Rastrear.

You can write trace information by using the TraceContext class's Warn or Write methods. The difference between the two methods is that a message written with the Warn method appears in red text.

The following example shows how to use the TraceContext class to display trace information at the end of an ASP.NET page. A different exception is thrown for each LinkButton control that caused the postback. The error message that is used to initialize the ArgumentException or InvalidOperationException instance is displayed in the trace log.


<%@ 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>


Reading ASP.NET Trace Information

You can view trace information that is appended at the end of an ASP.NET page or in the trace viewer. In both cases, the information displayed is the same. ASP.NET organizes the trace information in a series of tables. For information about how to view trace information in a page, see Como: habilitar o rastreamento para uma página do ASP.NET. For information about how to view trace information in the trace viewer, see Como: exibir informações de rastreamento ASP.NET com o Visualizador de Rastreamento (Trace Viewer).

Trace information appears in the following order.

Request Details

The Request Details section displays general information about the current request and response.

Valor

Descrição

Session ID

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

Time of Request

O tempo em que o pedido foi feito.

Request Encoding

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

Request Type

O método HTTP (GET ou POST).

Status Code

O conteúdo do código de status associado com a resposta. For more information, see RFC 2616 at the World Wide Web Consortium (W3C) Web site.

Response Encoding

A codificação de caracteres para a resposta.

Trace Information

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

The custom trace category specified in a Warn or Write method call, if any.

Message

The custom trace message specified in a Warn or Write method, if any.

From First(s)

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

From Last(s)

O tempo decorrido em segundos, entre o processamento da mensagem de rastreio corrente e a mensagem de rastreio anterior.

Control Tree

A seção Árvore de Controles exibe informações sobre os controles de servidor ASP.NET que são criados na página.

Valor

Descrição

Control ID

A identificação para o controle. If you have not specified an ID property for the control, ASP.NET generates an ID by using the UniqueID property.

Type

O tipo 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

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

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

Type

O tipo qualificado do objeto que armazena os dados.

Value

A representação de seqüência dos dados armazenados no estado da sessão, se houver.

Application State

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

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

Type

O tipo qualificado do objeto que armazena os dados.

Value

A representação de string dos dados que são armazenados no estado do aplicativo, se houver.

Cookies Collection

The Request Cookies and Response Cookies sections display information about the cookies that are passed between the browser and the server on each request and response. 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

Name

O nome do cookie.

Value

O valor do cookie, ou subchaves e valores se o cookie é múltiplo.

Size

O tamanho em bytes do cookie.

Headers Collection

The Headers Collection section displays information about request and response message header name/value pairs, which provide information about the message body or requested resource. 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. For more information about HTTP headers, see RFC 2616 at the World Wide Web Consortium (W3C) Web site.

Valor

Descrição

Name

O nome do cabeçalho.

Value

O valor do cabeçalho.

Form Collection

The Form Collection section displays name/value pairs that show the form element values (control values) that are submitted in a request during a POST operation (postback).

Valor

Descrição

Name

O nome da variável de formulário.

Value

O valor da variável de formulário.

Querystring Collection

The Querystring Collection section shows the values that are passed in the URL. In a URL, query string information is separated from the path information by a question mark (?); multiple query string elements are separated by an ampersand (&). Query string name/value pairs are separated by an equal sign (=). The QueryString property of the HttpRequest object returns a NameValueCollection of query string variables.

Valor

Descrição

Name

O nome da variável de string de consulta.

Value

O valor da variável de string de consulta.

Server Variables

The Server Variables section displays a collection of server-related environment variables and request header information. The ServerVariables property of the HttpRequest object returns a NameValueCollection of server variables.

Valor

Descrição

Name

O nome da variável de servidor.

Value

O valor da variável de servidor.

Back to top

ASP.NET Tracing and Diagnostics Tracing

ASP.NET tracing writes messages that are displayed on ASP.NET Web pages and the ASP.NET Trace viewer (Trace.axd). In contrast, the System.Diagnostics.Trace class is used to trace write messages to the standard .NET Framework trace output (typically a console window). To make it easier to track how your ASP.NET Web pages interact with business objects and other components, you can integrate ASP.NET tracing output with System.Diagnostics tracing. Você pode, em seguida, encaminhar todas as mensagens de rastreamento para uma dessas saídas.

A common scenario that uses both ASP.NET tracing and System.Diagnostics.Trace is Web pages that use middle-tier business objects to interact with data and business rules. You can also use System.Diagnostics.Trace tracing for pages that use enterprise services such as transactions and queues. In these situations, the business and enterprise components play key parts in the successful execution of the page. 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.

Trace Configuration Attributes

The following table shows the attributes that you can use to modify the behavior of application-level tracing in the trace element of the Web.config file.

Atributo

Descrição

Enabled

true para ativar o rastreamento para o aplicativo, caso contrário, false. O padrão é false. You can override this setting for individual pages by setting the Trace attribute in the @ Page directive of a page to true or false.

PageOutput

true to display trace both in pages and in the trace viewer (Trace.axd); otherwise, false. O padrão é false.

ObservaçãoObservação
Páginas individuais que tenham o rastreamento ativado não são afetadas por esta 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. Set to SortByTime to sort by the order in which information was processed. Set to SortByCategory to sort alphabetically by user-defined category. The default is SortByTime.

LocalOnly

true to make the trace viewer (Trace.axd) available only on the host Web server; otherwise, false. O padrão é true.

MostRecent

true to display the most recent trace information as tracing output; otherwise, false. If this value is false, when the requestLimit value is exceeded, new requests are not stored. O padrão é false.

ObservaçãoObservação
Tracing data that exceeds the limit defined by the requestLimit attribute is discarded in favor of the most recent data only when mostRecent is true.

CLASS

Descrição

System.Diagnostics.Trace

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

TraceContext

Captura e apresenta detalhes da execução sobre a solicitação da Web.

Back to top

Contribuições da comunidade

ADICIONAR
A Microsoft está realizando uma pesquisa online para saber sua opinião sobre o site do MSDN. Se você optar por participar, a pesquisa online lhe será apresentada quando você sair do site do MSDN.

Deseja participar?
Mostrar:
© 2014 Microsoft