可能现在许多ASP.NET 程序员依然习惯在后台使用Response.Write 方法来查看某个变量的值。其实,微软提供了很好的调试工具,即Trace.axd。它的功能主要是:配置 ASP.NET 代码跟踪服务以控制如何收集、存储和显示跟踪结果。
关键的几个选项:
1、localOnly 默认为false。这个很好理解。如果为true,只在本地输出跟踪信息。
2、enabled 是否启用跟踪。
3、pageOutput 指定在每一页的结尾是否呈现跟踪输出。如果是false ,则只能通过跟踪实用工具访问跟踪输出。(http://域名/Trace.axd来查看)
4、requestLimit 指定在服务器上存储的跟踪请求的数目。最大为10000,默认为10
5、traceMode 指定显示跟踪信息的顺序。SortByCategory 或 SortByTime(默认)
关于更多可以参考:http://msdn.microsoft.com/zh-cn/library/6915t83k%28VS.80%29.aspx
下面以一个小Demo 来说明怎么使用Trace.axd 来调试 ASP.NET
1. 建立一个Web 项目,取名为WebTraceTest
2. 编辑web.config 文件,添加trace 节点(在)
内容如下:
<trace enabled="true"
localOnly="true"
pageOutput="true"
requestLimit="15"
mostRecent="true"
/>
3. 新建一个页面,取名为Test.aspx,在里面增加一个文本框和一个按钮(都是服务器端的控件)按下F5,开始调试,会发现出现如下界面:
4. 在文本框中输入文字并点击按钮,会发现Form Collection中会有详细的信息,如下:
使用Trace.axd我们可以获得以下信息:
Request Details:请求的详细信息
Trace Information:跟踪信息
Control Tree:控件树
Session State:会话状态
Application State:应用程序状态
Request Cookies Collection:请求Cookie 集合
Response Cookies Collection:响应Cookie 集合
Headers Collection:标头集合
Response Headers Collection:响应标头集合
Form Collection:窗体集合
Querystring Collection:QueryString 集合(即Url 中?后面的字符串的信息)
Server Variables:服务器变量
注意:如果只调试当前页面,则只需在当前.aspx 页面的头部中设置Trace 属性。
示例如下:
<%@ Page Language="C#" Trace="true" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>