Web开发中一个棘手的问题是调试。在ASP或者简单JavaScript的时代,开发人员会利用print语句来追踪代码里的问题。随着微软引入ASP.NET,这一方法发生了改变,因为它包含了大量的特性,可以利用TraceContext类更加轻松地调试Web页面。
在ASP.NET应用程序里,你可以启动对单个页面或者整个Web应用程序进行追踪的能力。Web.config这个文件用来启动在应用程序这一级别进行的追踪。下面就用到了web.config文件里的追踪元素:
<trace enabled="false" requestLimit="10"
pageOutput="false"
traceMode="SortByTime" localOnly="true" />
现在让我们更加仔细地看看其各个属性:
然而,如果应用程序里只有一个页面,那么你就会在追踪的时候碰到问题。在这种情况下,你可以在页面的命令里加上下面的追踪属性,启动对单个页面的追踪:
<%@ Page language="c#" trace="true"
tracemode="SortByCategory"
Codebehind="WebForm1.aspx.cs" AutoEventWireup="false"
Inherits="WebApplication1.WebForm1" %>
要注意trace和tracemode属性会和它们在web.config文件里对应的属性发生冲突。如果你还不清楚哪个设置是优先的,那么我告诉你,页面设置会取代web.config的设置,所以你在追踪整个应用程序的时候要启动它,而在追踪所选页面的时候禁用它。是选择页面还是应用程序这一级别(或者是把两者结合起来)进行追踪要根据情况来决定。
一旦决定了需要追踪的级别,你就要开始接收追踪的结果了。如果是正在追踪整个应用程序,那么你可以在trace.axd页面里查看所有的追踪结果(具体有多少要取决于你用requestLimit属性维持的数量)。同样的,对单个页面的追踪进行完之后,你可以查看单个页面的追踪。
追踪的输出结果分为五个部分: