【摘要】ASP.NET的跟踪功能比ASP有了很大的提高,通过跟踪信息有利于判断WEB应用程序中错误的根源。本文通过实例详细解释了ASP.NET的跟踪模式。
【关键字】ASP.NET;跟踪信息;Trace
1、引言
传统ASP最常用的调试方法是使用Response.Write来设置断点,在WEB页面上显示出某些变量当时的值。但是,这种方法存在不少问题。
(1)在程序中布满Response.Write语句,这些语句可能反而影响调试,也会影响页面的布局。
(2)调试结束后,还要痛苦地将这些语句删掉。而在删除多余的Response.Write时还要处处小心,防止错删必要的Response.Write语句。如果程序有上百行,工作量之大可想而知。
ASP.NET推出了允许直接在代码中编写调试语句的新功能,从而在将应用程序部署到生产服务器时,无需将它们从应用程序中移除。该功能叫做跟踪,允许在页中编写变量或结构、断言是否符合某个条件,或只是通过页或应用程序的执行路径进行跟踪。为了收集并显示这些消息和其他跟踪信息,必须启用页或应用程序的跟踪。当启用跟踪时,将发生两件事情:
(1)ASP.NET将一系列诊断信息表紧接着追加在页输出之后。还将该信息发送到跟踪查看器应用程序(只有当已启用了应用程序的跟踪时)。
(2)ASP.NET在追加性能数据的Trace Information表中显示自定义诊断消息。指定的诊断信息和跟踪消息追加在发送到请求浏览器的页输出中。或者,可以在单独的跟踪查看器(trace.axd)中查看该信息,该查看器显示给定应用程序中每页的跟踪信息。当ASP.NET处理页请求时,该信息可以帮助查清错误或不希望得到的结果。
只有在启用了跟踪后才处理并显示跟踪语句。可以控制是否将跟踪显示到页上、显示到跟踪查看器或既显示到页上又显示到跟踪查看器。
2、ASP.NET的跟踪模式的配置
为了能使用跟踪功能,就要在页面或整个应用程序的范围内启用它。
2.1 页面级的配置
要在页面级启用跟踪功能,就要在@Page指令中设置Trace属性。如下所示:
*******************************************************************************
<%@ Page Language="vb" Trace="true" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1"%>
*******************************************************************************
图1:跟踪信息
如果Trace的属性值为true,那么当页面被显示时将在页面底部显示跟踪信息。而使用TraceMode属性能调整这些信息的显示顺序。TraceMode可选的值有:按照时间顺序排列(SortByTime)和按类别(SortCategory),其中,默认值为按照时间顺序排列。
2.2 应用程序级的配置
应用程序级的跟踪功能有多种选择,可以通过在config.web文件中的<system.web>下增加一个XML元素<trace>来设置。
表1:跟踪选项