Anda di halaman 1dari 22

Seguimiento en aplicaciones Web con Microsoft ASP.

NET

ndice Introduccin Leccin: descripcin del seguimiento Leccin: depuracin remota 1 2 18

Seguimiento en aplicaciones Web con Microsoft ASP.NET

Introduccin
Descripcin del seguimiento Depuracin remota

***************************** use******************************

Introduccin

Es difcil, si no imposible, capturar todos los errores posibles de cdigo cuando desarrollamos por primera vez una aplicacin Web. Podemos obtener errores en tiempo de compilacin o en tiempo de ejecucin. El compilador de Microsoft Visual Studio .NET encuentra los errores en tiempo de compilacin. Para encontrar errores en tiempo de ejecucin, podemos utilizar el depurador de Visual Studio .NET, el objeto Trace o el objeto Debug. En este mdulo, aprenderemos a: Utilizar el objeto Trace para visualizar informacin en tiempo de ejecucin sobre una aplicacin Web. Utilizar el objeto Debug para visualizar informacin en tiempo de ejecucin sobre una aplicacin Web. Depurar aplicaciones remotamente.

Objetivos

Seguimiento en aplicaciones Web con Microsoft ASP.NET

Leccin: descripcin del seguimiento


Informacin en tiempo de ejecucin Habilitar el seguimiento Uso del objeto Trace Visualizar los resultados de seguimiento Uso del seguimiento a nivel de aplicacin Demostracin: seguimiento en una aplicacin Web Seguimiento en un componente

***************************** use******************************

Introduccin

El seguimiento implica la recepcin de mensajes informativos sobre la ejecucin de una aplicacin Web en tiempo de ejecucin. Estos mensajes informativos de la aplicacin Web que se est ejecutando pueden ayudar a diagnosticar problemas o analizar el rendimiento. Visual Studio .NET ofrece dos objetos que pueden utilizarse para recopilar dicha informacin durante el tiempo de ejecucin: el objeto Debug el objeto Trace. En esta leccin, aprenderemos a: Identificar el tipo de informacin que puede recopilarse durante el tiempo de ejecucin. Utilizar el objeto Debug para mostrar informacin de tiempo de ejecucin en el depurador de Visual Studio .NET. Habilitar el seguimiento en un formulario Web Form. Utilizar los mtodos Trace.Write y Trace.Warn. Utilizar el seguimiento a nivel de aplicacin. Interpretar los resultados del seguimiento. Realizar seguimiento en un componente.

Objetivos de la leccin

Seguimiento en aplicaciones Web con Microsoft ASP.NET

Informacin en tiempo de ejecucin


Durante el tiempo de ejecucin, podemos: Visualizar valores de variables Afirmar si se cumple o no una condicin Realizar seguimiento por la ruta de ejecucin de la aplicacin Podemos recopilar informacin en tiempo de ejecucin utilizando El objeto Trace El objeto Debug

***************************** use******************************

Introduccin

Podemos recopilar informacin mientras nuestra aplicacin Web se est ejecutando utilizando los objetos Debug y Trace. Nota Para actualizar los conocimientos sobre depuracin, consultar el Apndice B, Depuracin con Microsoft Visual Studio .NET al final del libro de ejercicios.

Tipos de informacin

Podemos realizar los siguientes pasos durante el tiempo de ejecucin: Visualizar valores de variables. Determinar si se han cumplido determinadas condiciones. Por ejemplo, existe un mtodo Trace.WriteIf que muestra un mensaje nicamente si se satisface la condicin. Seguir la ruta de ejecucin de la aplicacin. Podemos seguir la lgica de programacin de un formulario Web Form mientras se est ejecutando para garantizar de que el procesamiento se produce correctamente.

Objetos de tiempo de ejecucin

Existen dos objetos que podemos utilizar para mostrar informacin de depuracin durante el tiempo de ejecucin. Son los siguientes: El objeto Trace. El objeto Trace de Microsoft ASP.NET permite mostrar informacin en una pgina Web o guardarla en memoria. En las pginas ASP tradicionales, utilizamos instrucciones Response.Write para realizar el seguimiento del progreso de una aplicacin Web. La ventaja de utilizar el objeto Trace frente a utilizar instrucciones Response.Write, o mostrar informacin de depuracin en etiquetas en un formulario Web Form, radica en que todo el seguimiento puede ser habilitado o deshabilitado cambiando la configuracin en el archivo Web.config. Por tanto, no es necesario revisar todo el cdigo; simplemente podemos eliminar las instrucciones de seguimiento en un servidor en produccin.

Seguimiento en aplicaciones Web con Microsoft ASP.NET

El objeto Debug. Tambin podemos utilizar el objeto Debug para mostrar informacin de depuracin. Las instrucciones que utiliza el objeto Debug nicamente se ejecutarn cuando estn compiladas en modo debug y cuando la aplicacin Web se ejecute en el depurador. Si creamos una versin release, las instrucciones no se ejecutarn. Con el objeto Debug, los mensajes se muestran en la ventana Resultados del depurador. Cuando utilizamos el objeto Debug para imprimir informacin de depuracin y comprobar la lgica, podemos hacer que nuestro cdigo sea ms estable sin afectar al rendimiento del producto final o al tamao del cdigo. Nota Para utilizar el objeto Debug, necesitamos importar el espacio de nombres System.Diagnostics.

Seguimiento en aplicaciones Web con Microsoft ASP.NET

Habilitar el seguimiento
El seguimiento a nivel de pgina muestra instrucciones de seguimiento nicamente en la pgina configurada Habilitar el seguimiento a nivel de pgina
<%@ Page Language="vb" Trace="true" %> <%@ Page Language="vb" Trace="true" %> <%@ Page Language="c#" Trace="true" %> <%@ Page Language="c#" Trace="true" %>

El seguimiento a nivel de aplicacin muestra informacin de seguimiento para todas las pginas de la aplicacin Web Habilitar el seguimiento a nivel de aplicacin en el archivo Web.config
<trace enabled="true" pageOutput="true" <trace enabled="true" pageOutput="true" localOnly="true"/> localOnly="true"/>

Prctica: comprobar la configuracin predeterminada

***************************** use******************************

Introduccin Seguimiento a nivel de pgina

Cuando realizamos el seguimiento, podemos escribir instrucciones de seguimiento directamente en la pgina o en un objeto de almacenamiento. Cuando realizamos el seguimiento a nivel de pgina, todos los mensajes de seguimiento se aaden al final de la pgina Web, lo que permite visualizar rpidamente los mensajes de seguimiento al mismo tiempo que estamos visualizando la pgina Web. Para habilitar en una pgina el seguimiento a nivel de pgina, establecemos el atributo Trace de la directiva @ Page a true, como muestra el siguiente cdigo:
<%@ Page Language="vb" Trace="true" %> -o<%@ Page Language="c#" Trace="true" %>

Una vez habilitado el seguimiento, todas las instrucciones Trace.Write de nuestro cdigo aparecern en la pgina. Cuando acabemos de realizar el seguimiento, podemos deshabilitarlo en lugar de eliminar todas las instrucciones Trace.Write de nuestro cdigo. Seguimiento a nivel de aplicacin Cuando habilitamos el seguimiento a nivel de aplicacin, lo hacemos para todas las pginas de la aplicacin Web. El seguimiento a nivel de aplicacin tambin permite una mayor flexibilidad al escribir instrucciones de seguimiento. Por ejemplo, con el seguimiento a nivel de pgina, todos los mensajes de seguimiento se aaden a la pgina, mientras que con el seguimiento a nivel de aplicacin, podemos escribir mensajes de seguimiento en la pgina o en memoria. El visor de seguimiento a nivel de aplicacin, trace.axd, puede acceder a las instrucciones de seguimiento almacenadas en memoria.

Seguimiento en aplicaciones Web con Microsoft ASP.NET

Para habilitar el seguimiento a nivel de aplicacin, es necesario configurar el archivo Web.config de la aplicacin Web, como muestra el siguiente cdigo:
<configuration> <system.web> <trace enabled="true"/> </system.web> </configuration>

Para configurar que los mensajes de seguimiento se escriban en la pgina, utilizamos el atributo pageOutput del elemento trace. La configuracin a true escribe las instrucciones de seguimiento en cada pgina. La configuracin a false escribe las instrucciones de seguimiento en memoria, donde el visor de seguimiento a nivel de aplicacin, trace.axd, puede acceder a ellas, como muestra el siguiente cdigo:
<trace enabled="true" pageOutput="true|false"/>

Tambin podemos establecer el atributo localOnly del elemento trace para asegurarnos de que los mensajes de seguimiento estn visibles nicamente en el equipo local, como muestra el siguiente cdigo:
<trace enabled="true" pageOutput="true" localOnly="true"/>

Prctica (opcional)

En Visual Studio .NET, abrir el proyecto Benefits. En el Explorador de soluciones, hacer doble clic en el archivo Web.config. Cules son las opciones de configuracin predeterminadas para el seguimiento a nivel de aplicacin? ________________________________________________________________ ________________________________________________________________

Seguimiento en aplicaciones Web con Microsoft ASP.NET

Uso del objeto Trace


Insertar mensajes de seguimiento
Trace.Write ("category", "message") Trace.Write ("category", "message") Trace.Warn ("category", "message") Trace.Warn ("category", "message")

Ejecucin condicional con Trace.IsEnabled


If Trace.IsEnabled Then If Trace.IsEnabled Then strMsg = "Tracing is enabled!" strMsg = "Tracing is enabled!" Trace.Write("myTrace", strMsg) Trace.Write("myTrace", strMsg) End If End If if (Trace.IsEnabled) if (Trace.IsEnabled) { { strMsg = "Tracing is enabled!"; strMsg = "Tracing is enabled!"; Trace.Write("myTrace", strMsg); Trace.Write("myTrace", strMsg); } }

Cambiar dinmicamente el estado del seguimiento


Trace.IsEnabled = False Trace.IsEnabled = False

***************************** use******************************

Introduccin

Para escribir mensajes de seguimiento en una pgina (o en memoria), utilizamos los mtodos Trace.Write y Trace.Warn. Podemos utilizar la propiedad IsEnabled del objeto Trace para cambiar dinmicamente el estado de seguimiento de una pgina. Utilizamos los mtodos Write y Warn del objeto Trace para mostrar mensajes de seguimiento. Trace.Write y Trace.Warn funcionan exactamente igual, con la excepcin de que Warn escribe mensajes de seguimiento en color rojo. Cuando utilizamos los mtodos Write y Warn, proporcionamos el mensaje que debe mostrarse, junto con una categora apropiada al mensaje, como muestra el siguiente cdigo:

Trace.Write y Trace.Warn

Visual Basic .NET C#

Trace.Write ("category", "message") Trace.Warn ("category", "message") Trace.Write ("category", "message"); Trace.Warn ("category", "message");

Nota El parmetro de categora se utiliza para clasificar y agrupar mensajes de seguimiento. Por ejemplo, podemos establecer el orden de clasificacin de los mensajes de seguimiento para mostrar juntos los mensajes que correspondan a la misma categora.

Seguimiento en aplicaciones Web con Microsoft ASP.NET

Ejemplo de uso de Write y Warn Visual Basic .NET C#

El siguiente cdigo escribe dos mensajes de seguimiento en una pgina. El segundo mensaje de seguimiento aparece en rojo al utilizar el mtodo Warn:
Trace.Write("Custom Trace", "Beginning User Code...") Trace.Warn("Custom Trace", "Array count is null!") Trace.Write("Custom Trace", "Beginning User Code..."); Trace.Warn("Custom Trace", "Array count is null!");

Los mensajes de seguimiento resultantes aparecen como muestra la siguiente ilustracin:

Trace.IsEnabled

Existen situaciones en las que es posible que deseemos generar mensajes de seguimiento nicamente cuando el seguimiento est habilitado a nivel de pgina Web o aplicacin Web. Para estas situaciones, el objeto Trace tiene una propiedad Boolean denominada IsEnabled que permite invocar los mtodos Write y Warn slo cuando el seguimiento est habilitado, como muestra el siguiente cdigo:
If Trace.IsEnabled Then strMsg = "Tracing is enabled!" Trace.Write("myTrace", strMsg) End If if (Trace.IsEnabled) { strMsg = "Tracing is enabled!"; Trace.Write("myTrace", strMsg); }

Visual Basic .NET

C#

Tambin podemos utilizar la propiedad IsEnabled para cambiar dinmicamente el estado del seguimiento de una pgina, como muestra el siguiente cdigo: Visual Basic .NET C#
Trace.IsEnabled = False Trace.IsEnabled = false;

Seguimiento en aplicaciones Web con Microsoft ASP.NET

Visualizar los resultados de seguimiento

***************************** use******************************

Introduccin

Los resultados de seguimiento a nivel de pgina se aaden a la parte inferior de la pgina .aspx para la que estn habilitados. Los resultados de seguimiento muestran una gran cantidad de informacin, junto con los mensajes personalizados creados por las instrucciones Trace.Write y Trace.Warn. Existen varias categoras de informacin visualizadas en los resultados de seguimiento. La siguiente tabla muestra una lista de cada categora y la descripcin del tipo de informacin que contiene.
Categora Detalles de la peticin Informacin de seguimiento Descripcin Informacin sobre la peticin: identificacin de sesin (ID), hora de la solicitud, tipo de peticin y estado de la peticin. Resultado de las instrucciones de seguimiento estndares y personalizadas. La columna From First(s) contiene el tiempo total desde la ejecucin hasta que se ejecuta el seguimiento, y la columna From Last(s) muestra la duracin del incremento. Lista todos los elementos que se encuentran en la pgina, junto con el tamao de cada uno. Lista las cookies que se estn utilizando. Lista los elementos en la cabecera Hypertext Transfer Protocol (HTTP). Lista los controles, y sus valores, en el formulario que se est transmitiendo. Lista todas las variables de servidor y sus valores.

Categoras de seguimiento

rbol de control Coleccin Cookies Coleccin Headers Coleccin Form Variables de servidor

10

Seguimiento en aplicaciones Web con Microsoft ASP.NET

Uso del seguimiento a nivel de aplicacin


Pgina Pgina Aplicacin Aplicacin Resultado Resultado
Los resultados de seguimiento Los resultados de seguimiento se muestran en la pgina se muestran en la pgina Los resultados de seguimiento Los resultados de seguimiento no se muestran no se muestran Los resultados de seguimiento Los resultados de seguimiento se muestran en la pgina se muestran en la pgina

Trace=True Trace=True Trace=False Trace=False

Trace=True o Trace=True o Trace=False Trace=False Trace=True o Trace=True o Trace=False Trace=False

Trace not set Trace=True Trace not set Trace=True

Las instrucciones de seguimiento a nivel de aplicacin se muestran en pginas individuales Si pageOutput=false en el archivo Web.config, el visor de seguimiento puede visualizar los resultados de seguimiento
http://servidor/proyecto/trace.axd http://servidor/proyecto/trace.axd

***************************** use******************************

Introduccin

Para una aplicacin Web, habilitamos el seguimiento a nivel de aplicacin en el archivo Web.config. Tras habilitar el seguimiento a nivel de aplicacin, podemos visualizar las instrucciones de seguimiento en pginas individuales o en el visor de seguimiento. Cuando habilitamos el seguimiento a nivel de aplicacin, la configuracin de seguimiento a nivel de pgina sigue vigente. Por ejemplo, si deshabilitamos el seguimiento a nivel de pgina para una pgina, y esa pgina forma parte de una aplicacin Web en la que est habilitado el seguimiento a nivel de aplicacin, el seguimiento se deshabilita para esa pgina especfica. La siguiente tabla muestra las posibles combinaciones de habilitar y deshabilitar el seguimiento, y el resultado correspondiente para esa pgina.
Configuracin de la pgina Trace=True Configuracin de la aplicacin Trace=True o Trace=False Trace=False Trace=True o Trace=False Trace no establecido Trace=True Resultado para la pgina Los resultados de seguimiento se muestran en la pgina. Los resultados de seguimiento no se muestran en la pgina. Los resultados de seguimiento se muestran en la pgina.

Configuracin del seguimiento

Seguimiento en aplicaciones Web con Microsoft ASP.NET

11

Mostrar mensajes de seguimiento

Podemos mostrar mensajes de seguimiento a nivel de aplicacin en dos lugares: en la propia pgina, o en el visor de seguimiento. Para determinar cmo se muestran los resultados de seguimiento, establecemos el atributo pageOutput del elemento trace en el archivo Web.config. Mientras la configuracin true muestra los resultados en la pgina, la configuracin false mantiene los mensajes de seguimiento en memoria. El siguiente cdigo muestra un ejemplo de deshabilitar la salida a la pgina:
<configuration> <system.web> <trace enabled="true" pageOutput="false"/> </system.web> </configuration>

Si se deshabilita la salida de la pgina para el seguimiento a nivel de aplicacin, los mensajes de seguimiento se almacenan en memoria. Los mensajes de seguimiento pueden visualizarse utilizando el visor de seguimiento, que es una pgina Web que se incluye en todas las aplicaciones Web. Utilizamos el visor de seguimiento visualizando la pgina trace.axd en un navegador:
http://nombreservidor/nombreproyecto/trace.axd

Por motivos de seguridad, es posible que deseemos deshabilitar el visor de seguimiento. Para deshabilitar el visor de seguimiento de un servidor Web modificamos el archivo machine.config. El archivo machine.config se encuentra en el siguiente directorio:
capeta_sistema\Microsoft.NET\Framework\nmero_versin\Config

La referencia a trace.axd (el visor de seguimiento) en el archivo machine.config se encuentra en la seccin httpHandlers:
<httpHandlers> <add verb="*" path="trace.axd" type="System.Web.Handlers.TraceHandler"/> </httpHandlers>

Para deshabilitar el visor de seguimiento, establecer el atributo path a una cadena vaca (path="").

Sugerencia El atributo localOnly que se utiliza para el seguimiento en pginas ASP.NET tambin se aplica a la pgina trace.axd. Si localOnly est establecido a true, la pgina trace.axd slo puede visualizarse desde el equipo local.

12

Seguimiento en aplicaciones Web con Microsoft ASP.NET

Demostracin: seguimiento en una aplicacin Web


Seguimiento a nivel de pgina Seguimiento a nivel de aplicacin

***************************** use******************************

En esta demostracin, veremos cmo habilitar seguimiento a nivel de pgina y a nivel de aplicacin y agregar instrucciones de seguimiento a un formulario Web Form. Ejecutar la demostracin utilizando Microsoft Visual Basic .NET 1. En Visual Studio .NET, abrir el proyecto CallClassVB. Este proyecto se puede encontrar dentro del fichero demos05.zip. 2. En el proyecto CallClassVB, habilitar el seguimiento en la pgina CallClassLibraries.aspx, incluyendo el atributo Trace en la directiva @ Page, como muestra el siguiente cdigo:
<%@ Page Language="vb" Trace="true" Codebehind="CallClassLibraries.aspx.vb" AutoEventWireup="false" Inherits="CallClassVB.CallClassLibraries" %>

Nota La informacin de seguimiento aparece mejor en pginas generadas con flowLayout. Si una pgina est generada con gridLayout, los mensajes de seguimiento aparecen detrs del contenido de la pgina.
3. Agregar dos mensajes de seguimiento personalizados al final del procedimiento de evento cmdUseVb_Click en la pgina de cdigo subyacente CallClassLibraries.aspx.vb, como muestra el siguiente cdigo:
Trace.Write("UseVB", "price = " & CStr(TextBox1.Text)) Trace.Warn("UseVB", "shipping cost = " & CStr(sngShipping))

4. Generar y examinar la pgina CallClassLibraries.aspx. La informacin de seguimiento se muestra en la pgina.

Seguimiento en aplicaciones Web con Microsoft ASP.NET

13

5. Introducir un precio y hacer clic en VB.NET Shipping Cost. Observar los mensajes de seguimiento personalizados. 6. Deshabilitar el seguimiento para la pgina, y visualizarla de nuevo.

Nota No es necesario volver a generar el proyecto, puesto que no hemos modificado el cdigo.
No se muestran mensajes de seguimiento en la pgina. 7. Habilitar el seguimiento a nivel de aplicacin editando la etiqueta de seguimiento del archivo Web.config. Establecer el atributo pageOutput a true, como muestra el siguiente cdigo:
<trace enabled="true" requestLimit="10" pageOutput="true" traceMode="SortByTime" localOnly="true" />

Observar que el atributo localOnly est establecido a true. Esto permite que nicamente los navegadores locales visualicen la informacin de seguimiento. 8. Actualizar la vista de la pgina CallClassLibraries.aspx y observar que los mensajes de seguimiento no se muestran debido a que el seguimiento est deshabilitado explcitamente para esta pgina. 9. Generar y examinar la pgina VBForm.aspx. Estas pginas no tienen habilitado el seguimiento, pero los resultados de seguimiento se muestran igualmente debido a que el seguimiento a nivel de aplicacin est habilitado. 10. Hacer que un estudiante examine la pgina VBForm.aspx en el equipo del instructor. No debera ver el resultado de seguimiento porque el atributo localOnly est establecido a true. 11. Agregar la siguiente instruccin de seguimiento a la pgina CSharpForm.aspx en el procedimiento de evento button1_onclick:
Trace.Warn ("C#", "Value to double " + Textbox1.Text)

12. Generar y examinar la pgina CSharpForm.aspx. Esta pgina tampoco tiene habilitado el seguimiento, pero los resultados de seguimiento, incluyendo el mensaje personalizado que acabamos de aadir, se muestran igualmente. 13. Cambiar la etiqueta de seguimiento de Web.config para deshabilitar pageOutput:
<trace enabled="true" pageOutput="false"/>

14. Visualizar la pgina VBForm.aspx en el navegador. El resultado de seguimiento no se muestra en la pgina; en lugar de ello, se escribe en memoria. 15. Visualizar la pgina http://localhost/CallClassVB/trace.axd para visualizar las instrucciones de seguimiento almacenadas en memoria.

14

Seguimiento en aplicaciones Web con Microsoft ASP.NET

Ejecutar la demostracin utilizando C# 1. En Visual Studio .NET, abrir el proyecto CallClassCS. Este proyecto se puede encontrar dentro del fichero demos05.zip. 2. En el proyecto CallClassCS, habilitar el seguimiento en la pgina CallClassLibraries.aspx, incluyendo el atributo Trace en la directiva @ Page, como muestra el siguiente cdigo:
<%@ Page Language="c#" Trace="true" Codebehind="CallClassLibraries.aspx.cs" AutoEventWireup="false" Inherits="CallClassCS.CallClassLibraries" %>

Nota La informacin de seguimiento aparece mejor en pginas generadas con flowLayout. Si una pgina se ha generado con gridLayout, los mensajes de seguimiento aparecen detrs del contenido de la pgina.
3. Agregar dos mensajes de seguimiento personalizados al final del procedimiento de evento cmdUseCSharp_Click en la pgina CallClassLibraries.aspx, como muestra el siguiente cdigo:
Trace.Write("UseC#", "price = " + Convert.ToString(TextBox1.Text)); Trace.Warn("UseC#", "shipping cost = " + Convert.ToString(sngShipping));

4. Generar y examinar la pgina CallClassLibraries.aspx. La informacin de seguimiento se muestra en la pgina. 5. Introducir un precio y hacer clic en C# Shipping Cost. Ver los mensajes de seguimiento personalizados. 6. Deshabilitar el seguimiento para la pgina y visualizar de nuevo la pgina.

Nota No es necesario volver a generar el proyecto ya que no se ha modificado el cdigo.


No se muestran mensajes de seguimiento en la pgina. 7. Habilitar el seguimiento a nivel de aplicacin modificando la etiqueta de seguimiento en el archivo Web.config. Establecer el atributo pageOutput a true, como muestra el siguiente cdigo:
<trace enabled="true" requestLimit="10" pageOutput="true" traceMode="SortByTime" localOnly="true" />

Observar que el atributo localOnly est establecido a true. Esto permite que slo los navegadores locales visualicen la informacin de seguimiento. 8. Actualizar la vista de la pgina CallClassLibraries.aspx y observar que los mensajes de seguimiento no se muestran porque el seguimiento est deshabilitado explcitamente para esta pgina.

Seguimiento en aplicaciones Web con Microsoft ASP.NET

15

9. Generar y examinar la pgina VBForm.aspx. Estas pginas no tienen habilitado el seguimiento, pero los resultados de seguimiento se muestran porque el seguimiento a nivel de aplicacin est habilitado. 10. Hacer que un estudiante examine la pgina VBForm.aspx en el equipo del instructor. No debera ver el resultado de seguimiento porque el atributo localOnly est establecido a true. 11. Agregar la siguiente instruccin de seguimiento a la pgina VBForm.aspx en el procedimiento de evento button1_onclick:
Trace.Warn ("VB", "Value to double " + Textbox1.Text);

12. Generar y examinar la pgina VBForm.aspx. Esta pgina tampoco tiene habilitado el seguimiento, pero los resultados de seguimiento, incluyendo el mensaje personalizado que acabamos de aadir, se muestran de todas formas. 13. Cambiar la etiqueta de seguimiento de Web.config para deshabilitar pageOutput:
<trace enabled="true" pageOutput="false"/>

14. Visualizar la pgina VBForm.aspx en el navegador. El resultado de seguimiento no se muestra en la pgina; en lugar de ello, se escribe en memoria. 15. Visualizar la pgina http://localhost/CallClassCS/trace.axd para ver las instrucciones de seguimiento almacenadas en memoria.

16

Seguimiento en aplicaciones Web con Microsoft ASP.NET

Seguimiento en un componente
Importar la biblioteca System.Web
Imports System.Web Imports System.Web using System.Web; using System.Web;

Habilitar el seguimiento
HttpContext.Current.Trace.IsEnabled = True HttpContext.Current.Trace.IsEnabled = True HttpContext.Current.Trace.IsEnabled = true; HttpContext.Current.Trace.IsEnabled = true;

Invocar los mtodos Trace


HttpContext.Current.Trace.Write _ HttpContext.Current.Trace.Write _ ("component", "this is my trace statement") ("component", "this is my trace statement") HttpContext.Current.Trace.Write HttpContext.Current.Trace.Write ("component", "this is my trace statement"); ("component", "this is my trace statement");

***************************** use******************************

Introduccin

Si un componente es invocado desde un formulario Web Form, podemos agregar instrucciones de seguimiento a ese componente, lo que permitir generar mensajes de seguimiento tanto para el formulario Web Form como para el componente. Para utilizar el seguimiento en un componente, debemos importar el espacio de nombres System.Web, habilitar el seguimiento en el componente y agregar los mensajes de seguimiento utilizando los mtodos Write y Warn. Agregar seguimiento a un componente 1. En la parte superior del componente, importar el espacio de nombres System.Web:

Seguimiento en un componente

Visual Basic .NET C#

Imports System.Web using System.Web;

2. En el constructor de la clase a la que deseamos agregar instrucciones de seguimiento, habilitar el seguimiento con la siguiente instruccin:

Visual Basic .NET C#

HttpContext.Current.Trace.IsEnabled = True HttpContext.Current.Trace.IsEnabled = true;

Como el seguimiento est adjunto a una pgina, debemos determinar qu pgina ejecuta el componente. En el cdigo anterior, esto se consigue utilizando HttpContext.Current, que obtiene el objeto Context para la peticin actual.

Seguimiento en aplicaciones Web con Microsoft ASP.NET

17

3. En el mtodo en el que se desea generar mensajes de seguimiento, utilizar Trace.Write o Trace.Warn:

Visual Basic .NET C#

HttpContext.Current.Trace.Write _ ("component", "this is my trace statement") HttpContext.Current.Trace.Write ("component", "this is my trace statement");

Cuando el seguimiento est habilitado en un componente, los resultados de seguimiento se escriben en las pginas que acceden al componente, aunque el seguimiento est deshabilitado para esa pgina. La siguiente tabla muestra una lista de los resultados al habilitar o deshabilitar el seguimiento en una pgina o en un componente.
Configuracin del componente El seguimiento est habilitado en el constructor El seguimiento est habilitado en un mtodo El seguimiento est deshabilitado en el constructor El seguimiento no est establecido en el componente Configuracin de la pgina Seguimiento deshabilitado Seguimiento deshabilitado Seguimiento habilitado Resultado El seguimiento est habilitado cuando se invocan todos los mtodos del componente. El seguimiento est habilitado cuando slo se invoca ese nico mtodo. El seguimiento est deshabilitado cuando se invocan los mtodos del componente. El seguimiento est habilitado cuando se invocan los mtodos del componente.

Seguimiento habilitado

Importante Los mensajes de seguimiento de un componente aparecern en todas las pginas con seguimiento habilitado que invoquen el componente si el seguimiento no se ha deshabilitado intencionadamente en el componente.

18

Seguimiento en aplicaciones Web con Microsoft ASP.NET

Leccin: depuracin remota


Cmo depurar remotamente

***************************** use******************************

Introduccin

La depuracin se utiliza normalmente para capturar errores durante la creacin de una aplicacin Web. La mayor parte de la depuracin tiene lugar localmente; es decir, ejecutamos el depurador de Visual Studio .NET en el equipo que hospeda la aplicacin Web. La depuracin remota permite depurar una aplicacin Web que se ejecuta en una ubicacin remota. En esta leccin, aprenderemos a realizar la depuracin remota. En esta leccin, aprenderemos a depurar aplicaciones remotamente.

Objetivos de la leccin

Seguimiento en aplicaciones Web con Microsoft ASP.NET

19

Cmo depurar remotamente


La depuracin remota: Depura aplicaciones Web remotamente Simplifica el desarrollo en equipo Simplifica la administracin de sitios Web Requerimientos para la depuracin remota: Requiere Visual Studio .NET o componentes remotos en el servidor Visual Studio .NET debe estar instalado en el cliente Requiere acceso administrativo al servidor Requiere acceso para el usuario que realiza la depuracin

***************************** use******************************

Introduccin

La depuracin remota es el proceso de depurar aplicaciones Web que se estn ejecutando en otro servidor. La depuracin remota permite depurar aplicaciones Web en varios servidores distintos desde una sola estacin de trabajo. Para que la depuracin remota funcione, deben cumplirse las siguientes condiciones: Visual Studio .NET o los componentes remotos de Visual Studio .NET deben estar instalados en el servidor que hospeda la aplicacin Web que deseamos depurar. Visual Studio .NET debe estar instalado en el equipo cliente, que es la estacin de trabajo desde la que se producir la depuracin. Debemos disponer de acceso administrativo al servidor que hospeda la aplicacin Web. El servidor remoto debe conceder acceso al usuario que realiza la depuracin. Para conceder acceso a un usuario, le agregaremos al grupo Usuarios de depurador del servidor. Este permiso es necesario aunque el usuario sea un administrador en el servidor remoto.

Requerimientos para la depuracin remota

20

Seguimiento en aplicaciones Web con Microsoft ASP.NET

Procedimiento de depuracin remota

Depurar remotamente 1. En el equipo cliente, iniciar Visual Studio .NET. 2. En el men Archivo, hacer clic en Abrir y clic en Proyecto desde Web. 3. En el cuadro de dilogo Abrir Proyecto desde Web, escribir la direccin URL (Uniform Resource Locator) del servidor desde el que deseamos abrir el proyecto, y hacer clic en Aceptar. 4. En el cuadro de dilogo Abrir proyecto, ir al proyecto en el servidor remoto y hacer clic en Abrir. 5. Despus de abrir el proyecto, podemos establecer puntos de interrupcin y ejecutar la aplicacin Web en modo de depuracin, igual que si estuviramos ejecutando una aplicacin local.

Nota Para ms informacin sobre la depuracin remota, consultar Depurar aplicaciones Web en un servidor remoto y Configurar la depuracin remota en el SDK de Microsoft .NET Framework.

Anda mungkin juga menyukai