一、什么是“跟踪”
跟踪是一种在应用程序运行时监视其执行情况的方式。当开发 .NET 应用程序时,可以在其中添加跟踪和调试检测功能,并且在开发应用程序时和部署应用程序后,都可以使用该检测功能。利用 Trace 和 Debug 类,可以将有关错误和应用程序执行的信息记录到日志、文本文件或其他设备中,以便在随后进行分析。
二、为什么要使用跟踪?
在asp的时代,如果需要了解程序在运行时的某些状态、变量的值,通常都是在页面上采用Response.Write来输出的方式。这么做的原因,绝大多数都是因为asp薄弱的运行、开发环境造成的。这这样的做的结果是,随意在页面上输出造成页面的混乱不说,程序中添加的Response.Write还非常不容易管理,一旦有什么遗漏的话,就会给客户造成不必要的误解。
而ASP.NET的跟踪功能,不仅可以在程序运行的各个阶段,跟踪程序的状态和变量的值,另外,它还有ASP.NET本身所支持的各项管理功能。它可以和Aspx页面一起显示,也可以通过专门的方式在另外的地方呈现。据我目前所知,它有以下优点:
1、既可以整个网站统一管理,也可以在单个页面启动。通过配置web.config,可以启用整个网站的跟踪,也可以在页面上采用。
2、不影响页面的布局和呈现。
3、全面反映cookies和session的状态,这是我***次采用跟踪的一个原因。
4、完整的反应各个页面事件的过程和执行的时间。
三、开启页面内的跟踪
1、在<@page>中采用Trace="true"
2、在代码里添加“Trace.IsEnabled = true;”
3、添加自己的跟踪信息:
Trace.Warn("abc"); //Warn 显示的是红色的信息
Trace.Write("def"); //write显示的是普通颜色的信息
四、开启跟踪后和ASP.NET ajax冲突怎么办
在使用UpdatePanel的页面上开启了页面跟踪或者开启了全站跟踪时,pageOutput="true"就会出现Sys.WebForms.PageRequestManagerParserErrorException异常。
原因是页面跟踪时有Response.Write。
解决办法是,不用页面跟踪或者全站跟踪时,pageOutput="false"。需要查看跟踪信息时,用trace.axd。
五、性能
网站开启了跟踪,那么肯定是要低性能的。
但是在页面添加一些自定义的跟踪信息,应该对性能的影响很微小了。
【编辑推荐】