5.- Depuracion y correccion de errores.pdf

Embed Size (px)

Citation preview

  • ndice

    Introduccin 1

    Leccin: descripcin del seguimiento 2

    Leccin: depuracin remota 18

    Seguimiento en aplicaciones Web con Microsoft ASP.NET

  • Seguimiento en aplicaciones Web con Microsoft ASP.NET 1

    Introduccin

    Descripcin del seguimiento

    Depuracin remota

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

    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.

    Introduccin

    Objetivos

  • 2 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******************************

    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.

    Introduccin

    Objetivos de la leccin

  • Seguimiento en aplicaciones Web con Microsoft ASP.NET 3

    Informacin en tiempo de ejecucin

    Durante el tiempo de ejecucin, podemos:z Visualizar valores de variablesz Afirmar si se cumple o no una condicinz Realizar seguimiento por la ruta de ejecucin de la

    aplicacin Podemos recopilar informacin en tiempo de

    ejecucin utilizandoz El objeto Tracez El objeto Debug

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

    Podemos recopilar informacin mientras nuestra aplicacin Web se est ejecutando utilizando los objetos Debug y Trace.

    Para actualizar los conocimientos sobre depuracin, consultar el Apndice B, Depuracin con Microsoft Visual Studio .NET al final del libro de ejercicios.

    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.

    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.

    Introduccin

    Nota

    Tipos de informacin

    Objetos de tiempo de ejecucin

  • 4 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.

    Para utilizar el objeto Debug, necesitamos importar el espacio de nombres System.Diagnostics.

    Nota

  • Seguimiento en aplicaciones Web con Microsoft ASP.NET 5

    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

    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

    Prctica: comprobar la configuracin predeterminada

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

    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:

    -o- 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.

    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.

    Introduccin

    Seguimiento a nivel de pgina

    Seguimiento a nivel de aplicacin

  • 6 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:

    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:

    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:

    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?

    ________________________________________________________________

    ________________________________________________________________

    Prctica (opcional)

  • Seguimiento en aplicaciones Web con Microsoft ASP.NET 7

    Uso del objeto Trace

    Insertar mensajes de seguimiento

    Ejecucin condicional con Trace.IsEnabled

    Cambiar dinmicamente el estado del seguimiento

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

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

    If Trace.IsEnabled ThenstrMsg = "Tracing is enabled!"Trace.Write("myTrace", strMsg)

    End If

    If Trace.IsEnabled ThenstrMsg = "Tracing is enabled!"Trace.Write("myTrace", strMsg)

    End If

    Trace.IsEnabled = FalseTrace.IsEnabled = False

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

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

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

    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 ("category", "message") Trace.Warn ("category", "message") Trace.Write ("category", "message"); Trace.Warn ("category", "message");

    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.

    Introduccin

    Trace.Write y Trace.Warn

    Visual Basic .NET

    C#

    Nota

  • 8 Seguimiento en aplicaciones Web con Microsoft ASP.NET

    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:

    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); } Tambin podemos utilizar la propiedad IsEnabled para cambiar dinmicamente el estado del seguimiento de una pgina, como muestra el siguiente cdigo:

    Trace.IsEnabled = False Trace.IsEnabled = false;

    Ejemplo de uso de Write y Warn

    Visual Basic .NET

    C#

    Trace.IsEnabled

    Visual Basic .NET

    C#

    Visual Basic .NET

    C#

  • Seguimiento en aplicaciones Web con Microsoft ASP.NET 9

    Visualizar los resultados de seguimiento

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

    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 Descripcin Detalles de la peticin Informacin sobre la peticin: identificacin de sesin (ID),

    hora de la solicitud, tipo de peticin y estado de la peticin.

    Informacin de seguimiento

    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.

    rbol de control Lista todos los elementos que se encuentran en la pgina, junto con el tamao de cada uno.

    Coleccin Cookies Lista las cookies que se estn utilizando.

    Coleccin Headers Lista los elementos en la cabecera Hypertext Transfer Protocol (HTTP).

    Coleccin Form Lista los controles, y sus valores, en el formulario que se est transmitiendo.

    Variables de servidor Lista todas las variables de servidor y sus valores.

    Introduccin

    Categoras de seguimiento

  • 10 Seguimiento en aplicaciones Web con Microsoft ASP.NET

    Uso del seguimiento a nivel de aplicacin

    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.axdhttp://servidor/proyecto/trace.axd

    PginaPginaPgina

    Trace=TrueTrace=True

    Trace=FalseTrace=False

    Trace not setTrace not set

    AplicacinAplicacinAplicacinTrace=True o Trace=FalseTrace=True o Trace=FalseTrace=True o Trace=FalseTrace=True o Trace=False

    Trace=TrueTrace=True

    ResultadoResultadoResultado

    Los resultados de seguimiento se muestran en la pgina

    Los resultados de seguimiento se muestran en la pgina

    Los resultados de seguimiento no se muestran

    Los resultados de seguimiento no se muestran

    Los resultados de seguimiento se muestran en la pgina

    Los resultados de seguimiento se muestran en la pgina

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

    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

    Configuracin de la aplicacin

    Resultado para la pgina

    Trace=True Trace=True o

    Trace=False

    Los resultados de seguimiento se muestran en la pgina.

    Trace=False Trace=True o

    Trace=False

    Los resultados de seguimiento no se muestran en la pgina.

    Trace no establecido Trace=True Los resultados de seguimiento se muestran en la pgina.

    Introduccin

    Configuracin del seguimiento

  • Seguimiento en aplicaciones Web con Microsoft ASP.NET 11

    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:

    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:

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

    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.

    Mostrar mensajes de seguimiento

    Sugerencia

  • 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:

    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.

    Nota

  • 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.

    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: 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:

    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.

    Nota

  • 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:

    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.

    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: 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.

    Nota

    Nota

  • 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:

    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

    Habilitar el seguimiento

    Invocar los mtodos Trace

    HttpContext.Current.Trace.IsEnabled = TrueHttpContext.Current.Trace.IsEnabled = True

    Imports System.WebImports System.Web

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

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

    using System.Web;using System.Web;

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

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

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

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

    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: 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: 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.

    Introduccin

    Seguimiento en un componente

    Visual Basic .NET

    C#

    Visual Basic .NET

    C#

  • 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: 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

    Configuracin de la pgina

    Resultado

    El seguimiento est habilitado en el constructor

    Seguimiento deshabilitado

    El seguimiento est habilitado cuando se invocan todos los mtodos del componente.

    El seguimiento est habilitado en un mtodo

    Seguimiento deshabilitado

    El seguimiento est habilitado cuando slo se invoca ese nico mtodo.

    El seguimiento est deshabilitado en el constructor

    Seguimiento habilitado

    El seguimiento est deshabilitado cuando se invocan los mtodos del componente.

    El seguimiento no est establecido en el componente

    Seguimiento habilitado

    El seguimiento est habilitado cuando se invocan los mtodos del componente.

    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.

    Visual Basic .NET

    C#

    Importante

  • 18 Seguimiento en aplicaciones Web con Microsoft ASP.NET

    Leccin: depuracin remota

    Cmo depurar remotamente

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

    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.

    Introduccin

    Objetivos de la leccin

  • Seguimiento en aplicaciones Web con Microsoft ASP.NET 19

    Cmo depurar remotamente

    La depuracin remota:z Depura aplicaciones Web remotamentez Simplifica el desarrollo en equipoz Simplifica la administracin de sitios Web

    Requerimientos para la depuracin remota:z Requiere Visual Studio .NET o componentes remotos en

    el servidorz Visual Studio .NET debe estar instalado en el clientez Requiere acceso administrativo al servidorz Requiere acceso para el usuario que realiza la depuracin

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

    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.

    Introduccin

    Requerimientos para la depuracin remota

  • 20 Seguimiento en aplicaciones Web con Microsoft ASP.NET

    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.

    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.

    Procedimiento de depuracin remota

    Nota